/// <summary>
 /// 初次构造后的初始化(通常需要用到其他Mgr)
 /// </summary>
 public void Awake()
 {
     // 注意Awake不能放在构造函数内执行,因为这将导致主程序未构造完毕就开始使用,破坏了单例的存在,造成栈溢出错误
     dataBaseMgr.Awake();
     gameDataMgr.Awake();
     languageMgr.Awake();
     uiManager.Awake();
 }
 /// <summary>
 /// 初次构造后的初始化(Awake方法通常需要用到其他Mgr,因此需要在构造函数之后执行)
 /// </summary>
 public void Awake()
 {
     // 注意Awake不能放在构造函数内执行,因为这将导致主程序未构造完毕就开始使用,破坏了单例的存在,造成栈溢出错误
     dataBaseMgr.Awake();
     languageMgr.Awake();
     uiManager.Awake();
     audioMgr.Awake();
     dialogMgr.Awake();
     npcMgr.Awake();
     Debug.Log("框架初始化完成");
 }