//--------------------------------------------------------------------- public void Update(float elapsed_tm) { if (SoundMgr != null) { SoundMgr.update(); } if (FTMgr != null) { FTMgr.update(elapsed_tm); } if (NetBridge != null) { NetBridge.update(elapsed_tm); } if (AsyncAssetLoaderMgr != null) { AsyncAssetLoaderMgr.update(Time.deltaTime); } if (CasinosLua != null) { CasinosLua.Update(elapsed_tm); } if (TimerShaft != null) { TimerShaft.ProcessTimer((ulong)Stopwatch.ElapsedMilliseconds); } }
//--------------------------------------------------------------------- void _onTimer(object data) { if (Closed) { return; } LastTimeJeffies += TmSpan; var delta_tm = LastTimeJeffies - TimerShaft.GetTimeJeffies(); var time_ev = new EbTimeEvent() { mExpires = TimerShaft.GetTimeJeffies() + delta_tm, onTime = _onTimer, mData = null }; TimerShaft.AddTimer(time_ev); float tm = (float)Stopwatch.Elapsed.TotalSeconds; Stopwatch.Reset(); Stopwatch.Start(); FuncCb(LuaTable, tm); }
//--------------------------------------------------------------------- public void Close() { if (TimerShaft != null) { TimerShaft.Destroy(); TimerShaft = null; } if (SoundMgr != null) { SoundMgr.destroy(); SoundMgr = null; } if (HeadIconMgr != null) { HeadIconMgr.destroy(); HeadIconMgr = null; } if (SpineMgr != null) { SpineMgr.Destroy(); SpineMgr = null; } AsyncAssetLoaderMgr = null; if (AsyncAssetLoadGroup != null) { AsyncAssetLoadGroup.destroy(); AsyncAssetLoadGroup = null; } if (LuaMgr != null) { LuaMgr.Release(); LuaMgr = null; } if (MemoryStream != null) { MemoryStream.Close(); MemoryStream = null; } Screen.sleepTimeout = SleepTimeout.SystemSetting; }
//--------------------------------------------------------------------- public void Update(float elapsed_tm) { if (SoundMgr != null) { SoundMgr.Update(); } if (FTMgr != null) { FTMgr.Update(elapsed_tm); } if (DelayMgr != null) { DelayMgr.Update(elapsed_tm); } if (NetMgr != null) { NetMgr.Update(elapsed_tm); } if (AsyncAssetLoaderMgr != null) { AsyncAssetLoaderMgr.Update(Time.deltaTime); } if (LuaMgr != null) { LuaMgr.Update(elapsed_tm); } if (TimerShaft != null) { TimerShaft.ProcessTimer((ulong)Stopwatch.ElapsedMilliseconds); } if (Input.GetKeyDown(KeyCode.Escape)) { LuaMgr._CSharpCallOnAndroidQuitConfirm(); } }
//--------------------------------------------------------------------- public EbTimer(TimerShaft timer_shaft, ulong tm, LuaTable lua_table, DelegateLua2 cb) { TimerShaft = timer_shaft; TmSpan = tm; LuaTable = lua_table; FuncCb = cb; LastTimeJeffies = TimerShaft.GetTimeJeffies() + TmSpan; Closed = false; Stopwatch = new Stopwatch(); Stopwatch.Start(); var time_ev = new EbTimeEvent() { mExpires = TimerShaft.GetTimeJeffies() + TmSpan, onTime = _onTimer, mData = null }; TimerShaft.AddTimer(time_ev); }
//--------------------------------------------------------------------- public CasinosContext(CasinosListener listener, bool use_persistent, string lua_project_listener_name, string ui_pathroot, string resourcesrow_pathroot, string ab_resource_title, string lotteryticket_factoryname) { _eEditorRunSourcePlatform editor_runsorce = _eEditorRunSourcePlatform.Android; #if UNITY_STANDALONE_WIN editor_runsorce = _eEditorRunSourcePlatform.PC; #elif UNITY_ANDROID && UNITY_EDITOR editor_runsorce = _eEditorRunSourcePlatform.Android; #elif UNITY_ANDROID editor_runsorce = _eEditorRunSourcePlatform.Android; #elif UNITY_IPHONE editor_runsorce = _eEditorRunSourcePlatform.IOS; #endif Instance = this; ABResourcePathTitle = ab_resource_title; ResourcesRowPathRoot = resourcesrow_pathroot; UiPathRoot = ui_pathroot; WeiChatIsInstalled = true; ShowWeiChat = true; UseBindPhoneAndWeiChat = false; LuaProjectListenerName = lua_project_listener_name; LotteryTicketFactoryName = lotteryticket_factoryname; UseLan = true; _checkLan(); #if UNITY_EDITOR IsEditor = true; #else IsEditor = false; #endif #if UNITY_IPHONE || UNITY_STANDALONE_OSX || UNITY_DASHBOARD_WIDGET || UNITY_STANDALONE_LINUX || UNITY_WEBPLAYER IsSqliteUnity = true; #else IsSqliteUnity = false; #endif #if IsDev IsDev = true; #else IsDev = false; #endif #if UNITY_IOS PlatformName = "IOS"; string version = UnityEngine.iOS.Device.systemVersion; var arr_version = version.Split('.'); int first_version_code = 0; if (arr_version.Length > 0) { int.TryParse(arr_version[0].ToString(), out first_version_code); } if (first_version_code < 9) { UseHttps = false; } else { UseHttps = true; } UnityIOS = true; UnityAndroid = false; #elif UNITY_ANDROID PlatformName = "ANDROID"; UseHttps = false; UnityAndroid = true; UnityIOS = false; #elif UNITY_STANDALONE_WIN PlatformName = "PC"; #endif NativeMgr = new NativeMgr(); PathMgr = new PathMgr(editor_runsorce, use_persistent);// 初始化PathMgr FTMgr = new FTMgr(); Stopwatch = new System.Diagnostics.Stopwatch(); Stopwatch.Start(); TimerShaft = new TimerShaft(); Listener = listener; MemoryStream = new MemoryStream(); SB = new StringBuilder(); Config = new CasinosConfig(editor_runsorce); //Config = GameObject.FindObjectOfType<MbCasinosConfig>(); //Config.FormatConfigUrl(); //UserConfig = GameObject.FindObjectOfType<MbCasinosUserConfig>(); // 初始化系统参数 { #if UNITY_EDITOR Application.runInBackground = false; Screen.sleepTimeout = SleepTimeout.SystemSetting; #else Application.runInBackground = true; Screen.sleepTimeout = SleepTimeout.NeverSleep; #endif Time.fixedDeltaTime = 0.03f; QualitySettings.vSyncCount = 1; //Application.targetFrameRate = 30; } // 初始化日志 { EbLog.NoteCallback = Debug.Log; EbLog.WarningCallback = Debug.LogWarning; EbLog.ErrorCallback = Debug.LogError; } if (NativeAPIMsgReceiverListner == null) { NativeAPIMsgReceiverListner = new NativeAPIMsgReceiverListener(); } if (AsyncAssetLoaderMgr == null) { AsyncAssetLoaderMgr = new AsyncAssetLoaderMgr(); } AsyncAssetLoadGroup = AsyncAssetLoaderMgr.createAsyncAssetLoadGroup(); NetBridge = new NetBridge(); PlayerPrefs = new CasinosPlayerPrefs(); TextureMgr = new TextureMgr(); UIObjectFactory.SetLoaderExtension(typeof(GLoaderEx)); CasinosLua = new CasinosLua(); SoundMgr = new CSoundMgr(); HeadIconMgr = new HeadIconMgr(); //CopyStreamingAssetsToPersistentDataPath = new CopyStreamingAssetsToPersistentDataPath(); //Launch = new Launch(); }
//--------------------------------------------------------------------- public CasinosContext(bool force_use_resouceslaunch, bool force_use_dataoss) { Instance = this; _eEditorRunSourcePlatform editor_runsorce = _eEditorRunSourcePlatform.Android; #if UNITY_STANDALONE_WIN editor_runsorce = _eEditorRunSourcePlatform.PC; #elif UNITY_ANDROID && UNITY_EDITOR editor_runsorce = _eEditorRunSourcePlatform.Android; #elif UNITY_ANDROID editor_runsorce = _eEditorRunSourcePlatform.Android; #elif UNITY_IPHONE editor_runsorce = _eEditorRunSourcePlatform.IOS; #endif #if UNITY_EDITOR IsEditor = true; #else IsEditor = false; #endif #if UNITY_IPHONE || UNITY_STANDALONE_OSX || UNITY_DASHBOARD_WIDGET || UNITY_STANDALONE_LINUX || UNITY_WEBPLAYER IsSqliteUnity = true; #else IsSqliteUnity = false; #endif #if UNITY_IOS string version = UnityEngine.iOS.Device.systemVersion; var arr_version = version.Split('.'); int first_version_code = 0; if (arr_version.Length > 0) { int.TryParse(arr_version[0].ToString(), out first_version_code); } if (first_version_code < 9) { UseHttps = false; } else { UseHttps = true; } UnityIOS = true; UnityAndroid = false; #elif UNITY_ANDROID UseHttps = false; UnityAndroid = true; UnityIOS = false; #elif UNITY_STANDALONE_WIN #endif Stopwatch = new System.Diagnostics.Stopwatch(); Stopwatch.Start(); TimerShaft = new TimerShaft(); MemoryStream = new MemoryStream(); SB = new StringBuilder(); FTMgr = new FTMgr(); PathMgr = new PathMgr(editor_runsorce, force_use_resouceslaunch, force_use_dataoss);// 初始化PathMgr Config = new CasinosConfig(editor_runsorce); NativeMgr = new NativeMgr(); SpineMgr = new SpineMgr(); // 初始化系统参数 { #if UNITY_EDITOR Application.runInBackground = false; Screen.sleepTimeout = SleepTimeout.SystemSetting; QualitySettings.vSyncCount = 0; Application.targetFrameRate = -1; #else Application.runInBackground = true; Screen.sleepTimeout = SleepTimeout.NeverSleep; QualitySettings.vSyncCount = 1; Application.targetFrameRate = 60; #endif } if (NativeAPIMsgReceiverListner == null) { NativeAPIMsgReceiverListner = new NativeAPIMsgReceiverListener(); } if (AsyncAssetLoaderMgr == null) { AsyncAssetLoaderMgr = new AsyncAssetLoaderMgr(); } AsyncAssetLoadGroup = AsyncAssetLoaderMgr.createAsyncAssetLoadGroup(); NetMgr = new NetMgr(); PlayerPrefs = new CasinosPlayerPrefs(); TextureMgr = new TextureMgr(); UIObjectFactory.SetLoaderExtension(typeof(GLoaderEx)); LuaMgr = new LuaMgr(); SoundMgr = new SoundMgr(); HeadIconMgr = new HeadIconMgr(); }
//--------------------------------------------------------------------- public void Close() { if (TimerShaft != null) { TimerShaft.Destroy(); TimerShaft = null; } if (SoundMgr != null) { SoundMgr.destroy(); SoundMgr = null; } if (HeadIconMgr != null) { HeadIconMgr.destroy(); HeadIconMgr = null; } if (SpineMgr != null) { SpineMgr.Destroy(); SpineMgr = null; } if (AsyncAssetLoadGroup != null) { AsyncAssetLoadGroup.destroy(); AsyncAssetLoadGroup = null; } if (AsyncAssetLoaderMgr != null) { AsyncAssetLoaderMgr.Close(); AsyncAssetLoaderMgr = null; } if (NetMgr != null) { NetMgr.Close(); NetMgr = null; } if (NativeAPIMsgReceiverListner != null) { NativeAPIMsgReceiverListner.Close(); NativeAPIMsgReceiverListner = null; } if (LuaMgr != null) { LuaMgr.Release(); LuaMgr = null; } if (DelayMgr != null) { DelayMgr.Close(); DelayMgr = null; } if (MemoryStream != null) { MemoryStream.Close(); MemoryStream = null; } Screen.sleepTimeout = SleepTimeout.SystemSetting; }