// ***********************************************************************
// 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
}
}