在另一个脚本中发送枚举值?

时间:2013-03-26 13:03:35

标签: c# enums unity3d sendmessage

我想在另一个脚本的函数中传递枚举值(在C#和Unity3d中),如果我直接通过公共变量传递它们,我会遇到“不一致的可访问性”错误(字段类型'xx'是比字段“xx”更难访问,我没有找到如何解决这个问题。 (尝试下面的#1)

所以我试图通过SendMessage函数传递List(只能发送1个对象),但它现在说

  

“错误CS0246:找不到类型或命名空间名称List 1”。   您是否缺少using指令或程序集引用?“

你知道怎么做吗?

以下是我的尝试:

private AState currentAState;//attempt #1 //with all my var "public" : same thing
//...
modelGOscript.currentA = currentAState;//#1
//...
modelGO.SendMessage ("animToPlay", new List<AState>(currentAState, newAState) );//#2

由于

2 个答案:

答案 0 :(得分:1)

问题是您的AState定义为privatemodelGOscript的属性可能定义为publicprotected或{{1 }}。尽量减少internal限制access modifier

答案 1 :(得分:0)

不一致的可访问性通常指的是所涉及的类级别。

确保您使用的类,枚举等在可访问性方面正确排列。

public class XScript
public enum AState