Files
2026-05-25 09:45:16 +08:00

171 lines
5.7 KiB
C#

// #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<AppsFlyerObjectScript1>();
#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()
{
}
}
}