private static void EnterScene(int level) { try { if (mIns.SceneList == null) { mIns.Init(); } GameSceneCtr.mIns.isLoadingLevel = false; GameSceneCtr.mIns.LastScene = GameSceneCtr.mIns.CurScene; if (GameSceneCtr.mIns.nextScene.IsValid() == false) { GameSceneCtr.mIns.CurScene = GameSceneCtr.mIns.DefaultScene; } else { GameSceneCtr.mIns.CurScene = GameSceneCtr.mIns.nextScene; } LogMgr.LogFormat("场景进入 {0}", GameSceneCtr.mIns.CurScene.name); if (mIns.listener == null) { GameObject Listener = new GameObject("Listener"); Listener.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector; mIns.listener = Listener.AddComponent <SceneAliveListener>(); } if (SceneOpDic != null && SceneOpDic.ContainsKey(GameSceneCtr.mIns.CurScene.buildIndex)) { Dictionary <int, List <FieldInfo> > dic = SceneOpDic[GameSceneCtr.mIns.CurScene.buildIndex]; if (dic.ContainsKey(0)) { List <FieldInfo> list = dic[0]; for (int i = 0; i < list.Count; ++i) { FieldInfo f = list[i]; #if UNITY_EDITOR if (f.GetValue(null) == null && f.IsStatic) { if (FrameWorkConfig.Open_DEBUG) { LogMgr.LogFormat("====> {0} 对象实例化", f.FieldType); } f.SetValue(null, Activator.CreateInstance(f.FieldType, true)); } else { LogMgr.Log("已经实例化过一次或者为非静态字段 => " + f.Name); } #else f.SetValue(null, Activator.CreateInstance(f.FieldType, true)); #endif } } } } catch (Exception ex) { LogMgr.LogException(ex); } }
private static void Start(int p) { mIns.Init(); }