// *********************************************************************** // Assembly : Unity // Author : Kimch // Created : 2018-2-29 // Description : 游戏管理器,负责游戏的状态切换和一些全局变量控制 进行整体游戏的流程控制 // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G { using System.Collections; using UnityEngine; public partial class GameWorld : MonoBehaviour { #region Field #endregion #region Property #endregion #region Method public void InitGame() { if (!GlobalVar.FirstInitGame) { return; } //设置为非第一次进入游戏 GlobalVar.FirstInitGame = false; //new GameObject(nameof(SceneLoader)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(WorldSyncer)).AddComponent().transform.SetParent(this.transform); //初始化全局管理器 //new GameObject(nameof(GameInput)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(GameLevel)).AddComponent().transform.SetParent(this.transform); new GameObject(nameof(GameScene)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(CameraManager)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(EntityManager)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(BoardManager)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(Weather.WeatherManager)).AddComponent().transform.SetParent(this.transform); //自动寻路管理器 //new GameObject(nameof(AutoSearchManager)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(BuffManager)).AddComponent().transform.SetParent(this.transform); //new GameObject(nameof(BulletManager)).AddComponent().transform.SetParent(this.transform); ///初始化资源管理 //从这里开始添加其他操作 //临时 //ServerProxy.Instance.SwitchScene(45001); StartGame(); } public void ReloadGame() { if (GlobalVar.FirstInitGame) { return; } KFramework.GameFacade.ReadArchive(); GameScene.Instance.EnterScene(0); var mainW = KUIWindow.GetWindow(); if (mainW != null) { mainW.RefreshView(); mainW.OpenPage((int)UI.MainWindow.PageType.Map, "reload"); } } public void StartGame() { #if !UNITY_WEBGL if (GlobalVar.IsNewPlayer) { Launch.LoadLevel("opening"); //SceneLoader.Instance.LoadSceneAsync("opening", (error) => // { // }); //GameScene.Instance.EnterScene(1); //KStatistics.Instance.ReportEventStartPlay("1"); } else #endif { GameScene.Instance.EnterScene(0); } //WorldSyncer.Instance.StartGame(); //UnityEngine.SceneManagement.SceneManager.LoadScene("main"); //KUIWindow.OpenWindow(); } #endregion #region Unity /// /// Awake /// private void Awake() { //所有的其他操作都要放在后面 _Instance = this; DontDestroyOnLoad(this.gameObject); } private void Start() { } #endregion #region Static private static GameWorld _Instance; /// /// /// public static GameWorld Instance { get { if (_Instance is null) { _Instance = new GameObject(nameof(GameWorld)).AddComponent(); } return _Instance; } } #endregion } }