private void InitGameCore(UseScriptType _scripttype) { if (!CheckInited(false)) { DLog.LogError("不允许重复初始化GameCore,请检查代码"); return; } SetPath(); GameObject tobj = new GameObject("GameUpdateManager-" + AppName); GameObject.DontDestroyOnLoad(tobj); GManager = tobj.AddComponent <GameUpdateManager>(); tobj = new GameObject("PlayAudioManager-" + AppName); GameObject.DontDestroyOnLoad(tobj); AudioManager = tobj.AddComponent <PlayAudioManager>(); tobj = new GameObject("LoaderManager-" + AppName); GameObject.DontDestroyOnLoad(tobj); LManager = tobj.AddComponent <LoaderManager>(); LManager.Init(AppName, AppPersistentResDataPath, AppStreamingAssetsResDataPath, AppResourcesDataPath); CManager = new CorotineManager(AppName, this); SManager = new ScriptManager(AppName, _scripttype); mIsInited = true; }
public void LoadSceneAsync(string _scenename, System.Action _FinishdCall) { if (IsSceneLoading) { DLog.LogError("The Scene is Loading."); return; } IsSceneLoading = true; mLoadSceneCall = _FinishdCall; LManager.LoadAssetAsync(_scenename, _scenename, LoadedStartScene); }
public void LoadScene(string _scenename) { if (IsSceneLoading) { DLog.LogError("The Scene is Loading."); return; } LManager.LoadAsset(_scenename); _scenename = _scenename.Replace(".unity", ""); UnityEngine.SceneManagement.SceneManager.LoadScene(_scenename); }
void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } }
override protected void DisposeNoGcCode() { if (IsSceneLoading) { DLog.LogError("异步加载场景未完成时,此时进行卸载GameCore操作,可能引起场景错乱."); } //公用 PublicUpdateManager.ClearByKey(AppName); NetTool.HttpNet.ClearByKey(AppName); NetTool.TCPNet.Instance.ClearAppDelgate(AppName); for (int i = mScriptInterfaces.Count - 1; i >= 0; i--) { ScriptInterface.BehaviourInterfaceBase tscript = mScriptInterfaces[i]; if (tscript == null) { continue; } if (!tscript.mAppName.Equals(AppName)) { continue; } tscript.ClearScriptObject(); } mScriptInterfaces.Clear(); for (int i = mDontDestroyList.Count - 1; i >= 0; i--) { DestroyImmediate(mDontDestroyList[i]); } mDontDestroyList.Clear(); GManager.DestroyManager(); AudioManager.DestroyManager(); LManager.DestroyManager(); CManager.Dispose(); SManager.Dispose(); GManager = null; LManager = null; SManager = null; AudioManager = null; CManager = null; }
// Got all services! public void Initialize(ContentManager content, GraphicsDevice graphdev, int frameWidth, int frameHeight) { this.GraphDev = graphdev; SManager = ScreenManager.Instance; LManager = LoadManager.Instance; LManager.Initialize(content, GraphDev.Viewport); AUManager = AudioManager.Instance; IOHandler = InputHandler.Instance; PLManager = PipelineManager.Instance; PLManager.Initialize(content); LVLManager = LevelManager.Instance; LVLManager.Initialize(); Camera = new Camera(GraphDev.Viewport); Camera.Position = new Vector2(0f, frameWidth / 2); Camera.Zoom = 1.0f; IsInitialized = true; }