我现在已经尝试了好几个小时,但我不知道出了什么问题。
通常,在Unity C#中定义公共对象/ var时,它会显示在检查器或默认引用中,您可以在其中拖动内容。
这是我的测试代码:
using UnityEngine;
using System;
using System.Collections;
[Serializable]
public class modGlobals : MonoBehaviour {
public static GUIStyle defaultMask;
public GUIStyle trollo;
}
... Aaaaaand
我尝试了几个选项,在MonoDev中也用Visual Studio编写了这个东西,将我的所有文件放在命名空间中,w和没有Serializable attribe但是......可能有什么问题?
感谢您的帮助!
答案 0 :(得分:1)
是的,您需要将它附加到场景中的gameObject,以便在属性检查器中显示公共成员,因为您的脚本继承自MonoBehaviour。
这就是我得到的。
此外,即使标记为SerializableAttribute,也无法在属性检查器中公开静态成员。 System.SerializableAttribute在此声明类型上无效。它仅适用于“class,struct,enum,delegate”声明。
关于您要求使用对象的全局可访问脚本的注释,您有几个选项,例如