// #if UNITY_EDITOR // #endif using FairyGUI; using SGame; using UnityEngine; namespace ScrewsMaster { public class MainScene : BaseScene { public override int SceneIdx => 0; protected override void OnEnter() { } protected override void OnLeave() { } protected override void OnSwitchSceneComplete(object param = null) { StartUpAppProcess(); } private void StartUpAppProcess() { OnPermanentAssetsInitComplete(); } private void OnPermanentAssetsInitComplete(object param = null) { CtrlDispatcher.Instance.AddListener(CtrlMsg.Login_Succeed, OnLoginSucceed); var isAssetBundleLoad = false; #if UNITY_EDITOR isAssetBundleLoad = false; #else isAssetBundleLoad = false; #endif if (isAssetBundleLoad) { int value = 0; CrazyZooFileKit.GetLocalAssetBundle( max => { GameDispatcher.Instance.Dispatch(GameMsg.UpdateHotFixMax, max + 1); }, () => { value++; // GameDispatcher.Instance.Dispatch(GameMsg.UpdateHotFixProgress, value); }); } else { OnInitAsset(); } MaxADKit.Init(); AppDispatcher.Instance.AddListener(AppMsg.UI_LoadingInitAsset, OnInitAsset); } private void OnLoginSucceed(object param = null) { CtrlDispatcher.Instance.RemoveListener(CtrlMsg.Login_Succeed, OnLoginSucceed); } private void OnInitAsset(object param = null) { AppDispatcher.Instance.Dispatch(AppMsg.AppManagerRegister); AppDispatcher.Instance.Dispatch(AppMsg.InitUIMgr); // NetworkDispatcher.Instance.Dispatch(NetworkMsg.Login); AppDispatcher.Instance.AddListener(AppMsg.LoginInit, OnLoadingComplete); // NetworkDispatcher.Instance.Dispatch(NetworkMsg.GetConfig); // PreferencesMgr.Instance.InitPreferences(); } private void OnLoadingComplete(object param = null) { CtrlDispatcher.Instance.Dispatch(CtrlMsg.Game_StartReady); TimerHelper.mEasy.AddTimer(3.0f, () => { AudioManager.Instance.InitDefaultButtonClickSound(AudioConst.UIButtonDefault); ModuleManager.Instance.AllModuleGameStart(); ShowScene(); SaveingPotHelper.CheckSaveingPot(); SaveingPotHelper.TestingClearTime(); // if (GameHelper.IsGiftSwitch()) // { // WebviewManager.Instance.openWebview(); // } }); } private void ShowScene() { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.GameLoginUI_Open); LoginSystem_sdk.Instance.RequestLogin(); } public override void Dispose() { } } }