1
import EternalDungeon
import System.Collections

static def PlayerActivate():
    for x in range(ED.Mobs.Count):
        if ED.Mobs(x).Pos == ED.player.SpaceInFront():
            ED.Mobs(x).OnHit(ED.Sword)
            break

编译时,我收到错误

BCE0077: It's not possible to invoke an expression of type 'System.Collections.Generic.List'1[[EternalDungeon.Mob, Eternal Dungeon, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=null]]

在 (6,15) 和 (7,16)。在 C# 中,我包含这样的程序集,这可能是错误的和奇怪的:

        compiler.Parameters.References.Add(Assembly.LoadFile(Directory.GetCurrentDirectory() + @"\Eternal Dungeon.exe";));
        compiler.Parameters.References.Add(Assembly.GetAssembly(typeof(System.Collections.Comparer)));

感谢您提供任何帮助,而且我对 Boo 和“程序集”都很陌生。提前致谢。

4

1 回答 1

1

自己解决了这个问题,我混淆了数组列表,

    if ED.Mobs(x).Pos == ED.player.SpaceInFront():

更改为

    if ED.Mobs[x].Pos == ED.player.SpaceInFront():
于 2012-04-15T15:45:51.190 回答