// #if UNITY_EDITOR // #endif using System.IO; using DG.Tweening; using DontConfuse; using FairyGUI; using IgnoreOPS; // using SGModule.ApplePay; using SGModule.NetKit; using UnityEngine; namespace RedHotRoast { 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; // SuperApplication.Instance.AddComponent(); #if !UNITY_EDITOR && UNITY_ANDROID // MaxADKit.Init(); #endif #if UNITY_EDITOR isAssetBundleLoad = false; #else isAssetBundleLoad = false; #endif if (isAssetBundleLoad) { int value = 0; LegendFileKit.GetLocalAssetBundle( max => { GameDispatcher.Instance.Dispatch(GameMsg.UpdateHotFixMax, max + 1); }, () => { value++; // GameDispatcher.Instance.Dispatch(GameMsg.UpdateHotFixProgress, value); }); } else { OnInitAsset(); } AppDispatcher.Instance.AddListener(AppMsg.UI_LoadingInitAsset, OnInitAsset); TrackKit.TrackLoginFunnel(LoginFunnelEventType.AfSend); TrackKit.TrackLoginFunnel(LoginFunnelEventType.AfRecv, "success"); } 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); // PreferencesMgr.Instance.InitPreferences(); // NetworkDispatcher.Instance.Dispatch(NetworkMsg.GetConfig); } private void OnLoadingComplete(object param = null) { // Debug.Log("OnLoadingComplete------------"); CtrlDispatcher.Instance.Dispatch(CtrlMsg.Game_StartReady); if (GameHelper.IsGiftSwitch()) CrazyAsyKit.StartCoroutine(TextureHelper.WriteTempBeforeOpenCoroutine_()); TimerHelper.mEasy.AddTimer(0.5f, () => { AudioManager.Instance.InitDefaultButtonClickSound(AudioConst.UIButtonDefault); ModuleManager.Instance.AllModuleGameStart(); ShowScene(); SaveingPotHelper.CheckSaveingPot(); SaveingPotHelper.TestingClearTime(); if (GameHelper.IsGiftSwitch()) { WebviewManager.Instance.SetFullScreen(); int flyswitch = ConfigSystem.GetCommonConf().flyswitch; int propswitch = ConfigSystem.GetCommonConf().propswitch; int offset_y = ConfigSystem.GetCommonConf().WVOffset[0]; int offset_y1 = ConfigSystem.GetCommonConf().WVOffset[1]; Debug.Log("barry offset_y: " + offset_y + " offset_y1: " + offset_y1); float top_offset = 0;//fgui中的顶部信息的高度 float buttom_offset = 155; if (Screen.safeArea.y != 0) {//刘海屏 top_offset += Screen.safeArea.y; } WebviewManager.Instance.SetOffset(offset_y, offset_y1); WebviewManager.Instance.SetPadding(0, top_offset / GRoot.inst.height, 0, buttom_offset / GRoot.inst.height); WebviewManager.Instance.RefreshUrl(); // Debug.Log($"flyswitch==1 ------ {flyswitch == 1}"); // Debug.Log($"propswitch==1 ------ {propswitch == 1}"); WebviewManager.Instance.setFlyBtnTag(flyswitch == 1); WebviewManager.Instance.setRewardBtnTag(propswitch == 1); WebviewManager.Instance.SetDarkThough(true); WebviewManager.Instance.ShowH5View(false); WebviewManager.Instance.SetBtn(ConfigSystem.GetCommonConf().propCoord[0], ConfigSystem.GetCommonConf().propCoord[1], 60, 60); } }); } private static bool is_open = false; private void ShowScene() { if (is_open) return; is_open = true; // PreDownloadManager.InitializeLiveData(); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.GameLoginUI_Open); ChatHelper.CheckReply(); if (GameHelper.IsGiftSwitch()) { PreDownloadManager.StartDownloadLivePicture(); PreDownloadManager.StartDownloadAlbumsPicture(); //预下载视频 PreDownloadManager.StartDownload(); PreDownloadManager.StartDownloadSecretPicture(); // DOVirtual.DelayedCall(2, () => // { // ApplePayManager.GetVipHistory(); // }); } } public override void Dispose() { } } }