• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱
欢迎来到 behaviac Q&A。 您在bbs里的问题,管理员会当下就收到通知,不要担心管理员看不到您的问题。也请在bbs里提供您的email,这样就可以第一时间收到关于回答,评论的email的通知了。 为了节省大家的时间,请表达好你的问题,提供必要上下文,版本号,平台信息,重现步骤等。

C# (untiy)生成源数据,新建工作区的时候报错

0 喜欢 0 不喜欢
86 浏览

Microsoft (R) Visual C# 2005 编译器 版本 8.00.50727.5483
用于 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727
版权所有(C) Microsoft Corporation 2001-2005。保留所有权利。

c:\Users\xxx\AppData\Local\Temp\Behaviac\MineGame.cs(84,15): error CS0101: 命名空间“XMLPluginBehaviac”已经包含了“behaviac_Agent”的定义
c:\Users\xxx\AppData\Local\Temp\Behaviac\MineGame.cs(57,15): (与前一个错误相关的符号位置)

 

这个应该是编辑器生成的:

MineGame.cs  如下:

namespace XMLPluginBehaviac
{
    [Behaviac.Design.ClassDesc("behaviac::Agent", "Agent", false, true, false, "", "", false)]
    public class behaviac_Agent : Behaviac.Design.Agent
    {
    }

    [Behaviac.Design.ClassDesc("MineGame", "behaviac::Agent", true, true, false, "MineGame", "MineGame -> Agent", false)]
    public class MineGame : behaviac_Agent
    {
        [Behaviac.Design.MemberDesc("MineGame", false, true, true, false, false, "int", "Level", "Level")]
        public int Level;

        [Behaviac.Design.MemberDesc("MineGame", false, true, true, false, false, "bool", "Play", "Play")]
        public bool Play;


        [Behaviac.Design.MethodDesc("MineGame", false, true, true, false, false, "void", "Action", "Action")]
        public delegate void Action(

            );

        [Behaviac.Design.MethodDesc("MineGame", false, true, true, false, false, "void", "Action2", "Action2")]
        public delegate void Action2(

            );

    }

    [Behaviac.Design.ClassDesc("behaviac::Agent", "Agent", true, true, false, "behaviac.Agent", "behaviac.Agent", false)]
    public class behaviac_Agent : Behaviac.Design.Agent
    {

        [Behaviac.Design.MethodDesc("behaviac::Agent", false, true, true, false, false, "void", "LogMessage", "LogMessage")]
        public delegate void LogMessage(
            [Behaviac.Design.ParamDesc("string", "message", "message", "", false, false)]
            string param0
            );

 

 

behaviac_Agent  和 XMLPluginBehaviac.dll 里的定义 同名了

最新提问 9月 21, 2016 用户: qq_575020060c761 (300 分)
修改于 9月 21, 2016 用户:qq_575020060c761
同问,我昨天自己建行为树工作区的时候也报了这个错误(使用的是最新版3.5.14),之后用Classic M的Demo就没出现这样的问题
behaviac 的版本也是最新的 (使用的是3.5.14)    好像3.5.13 也是存在这样的问题。我更新到14,情况是一样的

2 个回答

0 喜欢 0 不喜欢
可以检查一下你们的元信息xml文件,是不是有两个Agent类?

然后你们的元信息文件是从游戏端这边先导出的;还是先在编辑器中创建了Agent子类,再生成源码文件,整合到游戏端后再导出元信息文件的?

可以试试把你本地的元信息文件删点,然后跑一遍游戏端,把元信息文件重新导出一遍,再重新打开编辑器。
最新回答 9月 21, 2016 用户: cainhuang (33,810 分)
修改于 9月 21, 2016 用户:cainhuang
我这边实在游戏端导出的,

按着你描述的,我将导出的有关

behaviac::Agent 的源信息全部删除,问题解决了。

 

记得之前的版本导出源信息的时候是包含behaviac::Agent,这个现在不需要了么?

有什么好的处理方式,比如能不能在导出前将behaviac::Agent 从注册的Type 过滤掉。
0 喜欢 0 不喜欢

image

请如上图加上红色部分的代码。

下个版本(3.5.15)会包含fix。

谢谢反馈。

最新回答 9月 22, 2016 用户: jonygli (57,510 分)
...