我有一个用静态实例变量方法实现的单例。
当我设置其中一个enum
类型的成员变量时,编辑器会滞后,每次发生这种情况时我都必须强行退出。
public class SharedData {
private static SharedData m_onlyInstance = null;
public int a,b,c;
public ESampleType eType = ESampletype.Default;
public static SharedData Instance {
get {
if (m_onlyInstance == null) {
m_onlyInstance = new SharedData();
}
return m_onlyInstance;
}
}
//other codes...
}
public class TestClass : MonoBehaviour {
[SerializeField]
Slider m_sliderTest;
public void onStartBtn(){
Debug.Log("---START---");
SharedData data = SharedData.Instance;
ESampleType eType = (ESampleType)(int)m_sliderTest.value;
data.a = 1;
data.eType = eType; //***when I commented this line, the lag disappear.
data.b = 2;
data.c = 3;
Debug.Log("---END---");
}
//other codes...
}
此外,当有问题的行存在时,日志"---START---"
和"---END---"
将不会显示。似乎编译得不好。这很奇怪!
这是对C#的限制吗?请帮我解决这里发生的事情。我需要解决这个问题。
我的Unity编辑器版本为5.4.1.40776
。