using UnityEngine; using System; using System.Collections; using System.Collections.Generic; using GameCore; using ResMgr; using GameLogic; using ResourcesManager = GameLogic.ResourcesManager; /// /// 游戏入口 /// public class App : UnitySingleton { /// /// 资源管理器 /// public static ResourcesManager ResMgr { get { return ResourcesManager.Instance; } } /// /// AB包管理器 /// public static AssetBundleManager AssetBundleMgr { get { return AssetBundleManager.Instance; } } /// /// BuglySdk管理器 /// //public static BuglySdkManager BuglySdkMgr { // get { // return BuglySdkManager.Instance; // } //} /// /// Lua管理器 /// public static LuaManager LuaMgr { get { return LuaManager.Instance; } } /// /// 对象池管理器 /// public static ObjectPoolManager ObjectPoolMgr { get { return ObjectPoolManager.Instance; } } /// /// 网络管理器 /// public static NetworkManager NetWorkMgr { get { return NetworkManager.Instance; } } public static CompressManager CompressMgr { get { return CompressManager.Instance; } } public static GameManager GameMgr { get { return GameManager.Instance; } } public static ThinkingAnalyticsManager TAMgr { get { return ThinkingAnalyticsManager.Instance; } } public static TapDBManager TBDMgr { get { return TapDBManager.Instance; } } public static BuglyManager BuglyMgr { get { return BuglyManager.Instance; } } //public static SoundManager SoundMgr { // get { // return SoundManager.Instance; // } //} //public static PhoneManager PhoneMgr { // get { // return PhoneManager.Instance; // } //} //public static UmengSdkManager UmengSdkMgr { // get { // return UmengSdkManager.Instance; // } //} public static ImageDownloadManager ImageDownloadMgr { get { return ImageDownloadManager.Instance; } } public static SpeakManager SpeakMgr { get { return SpeakManager.Instance; } } public static SDK.SDKManager SDKMgr { get { return SDK.SDKManager.Instance; } } public static RoleRenderManager RRenderMgr { get { return RoleRenderManager.Instance; } } //public static ShareSDKManager ShareSDKMgr { // get { // return ShareSDKManager.Instance; // } //} /// /// 版本管理器 /// public static VersionManager VersionMgr { get { return VersionManager.Instance; } } /// /// 配置数据管理器管理器 /// public static ConfigManager ConfigMgr { get { return ConfigManager.Instance; } } /// /// 初始化 /// public IEnumerator Initialize() { yield return ConfigMgr.Init(); yield return VersionMgr.Initialize(); SLanguageMoreLanguageMgr.Instance.InitData(); } /// /// 启动框架 /// public void StartUp() { Caching.ClearCache(); InitManager(); InitLuaMgr(); } /// /// 初始化资源管理器 /// public void InitResMgr() { } /// /// 初始化管理器 /// void InitManager() { } /// /// 初始化游戏 /// void InitLuaMgr() { LuaMgr.InitLua(); LuaMgr.InitStart(); //开始游戏逻辑 LuaMgr.DoFile("Logic/Game"); //加载网络 LuaMgr.DoFile("Logic/SocketManager"); //初始化网络 NetWorkMgr.OnInit(); //初始化完成 Util.CallMethod("Game", "Initialize"); } /// /// 重启游戏 /// 返回登录界面,重启Lua虚拟机 /// public void ReStart() { try { StartCoroutine(BeginReStart()); } catch (Exception e) { Debug.LogError(e); } } IEnumerator BeginReStart() { ResMgr.UnLoadAll(); yield return new WaitForEndOfFrame(); LuaMgr.Reset(); NetWorkMgr.Reset(); ImageDownloadMgr.Reset(); //ShareSDKMgr.Reset(); UpdateManager.Instance.StartUp(); } public void CallLuaMessage(string msgID, object data) { Util.CallMethod("Network", "OnLuaMessage", msgID, data); } /// /// 应用程序获得焦点/失去焦点 /// /// void OnApplicationFocus(bool hasFocus) { XDebug.Log.l("App.cs OnApplicationFocus"); Util.CallMethod("Game", "OnApplicationFocus", hasFocus); } /// /// 应用程序暂停/恢复 /// /// void OnApplicationPause(bool pauseStatus) { XDebug.Log.l("App.cs OnApplicationPause"); Util.CallMethod("Game", "OnApplicationPause", pauseStatus); } /// /// 应用程序退出 /// void OnApplicationQuit() { XDebug.Log.l("App.cs OnApplicationQuit"); Util.CallMethod("Game", "OnApplicationQuit"); } }