コード例 #1
0
ファイル: GameCore.cs プロジェクト: Hengle/LitEngine
        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;
        }
コード例 #2
0
ファイル: GameCore.cs プロジェクト: Hengle/LitEngine
 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);
 }
コード例 #3
0
ファイル: GameCore.cs プロジェクト: Hengle/LitEngine
 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);
 }
コード例 #4
0
ファイル: LManager.cs プロジェクト: Oqular/RoomDesignerSB
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
コード例 #5
0
ファイル: GameCore.cs プロジェクト: Hengle/LitEngine
        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;
        }
コード例 #6
0
        // 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;
        }