using SGModule.Common; using SGModule.Net; using SGModule.NetKit; namespace TowerClimberChronicles { using System; using UnityEngine; using System.Collections.Generic; using Unity.VisualScripting; using IgnoreOPS; using System.Linq; public class HallManager : BaseUnityManager { public event Action UpdateSecondEvent; public event Action UpdateFiveSecondEvent; private float _secondTime; private float _secondTime1; private LoginModel loginModel; private bool isGameStart; private GameDataSystem gameDataSys; private WindowSystem windowSys; private RewardSystem rewardSys; private ConsumeSystem consumeSys; private bool isFirstEnter = true; public int enterHallTimes = 0; public event Action UpdateEvent; // public int countTimes = 0; public override void Init() { game_parent = GameObject.Find("game_parent"); Canvas = GameObject.Find("Canvas"); flower_parent = Canvas = GameObject.Find("flower_parent"); CtrlDispatcher.Instance.AddListener(CtrlMsg.Game_Start, OnGameStart); GameDispatcher.Instance.AddListener(GameMsg.OpenGame, EnterGame); GameDispatcher.Instance.AddListener(GameMsg.OpenPuzzleGame, EnterPuzzle); GameDispatcher.Instance.AddListener(GameMsg.OpenFlowerGame, EnterFlower); GameDispatcher.Instance.AddListener(GameMsg.BackMainScene, a => { EnterHall(); }); AppDispatcher.Instance.AddListener(MainThreadMsg.App_Focus_True, BackToGame); InitSystem(); } private void InitSystem() { gameDataSys = new GameDataSystem(); windowSys = new WindowSystem(); rewardSys = new RewardSystem(); consumeSys = new ConsumeSystem(); } void BackToGame(object obj = null) { if (MaxPayManager.isPay) { MaxPayManager.isPay = false; UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PayloadingUI_Close); MaxPayManager.Instance.PaySuccess(); } } private void OnGameStart(object obj) { // var lang = PlayerPrefsKit.ReadString("LangIdKey"); // if (lang.IsNullOrWhiteSpace()) // { // lang = "en"; // } // UIManager.Instance.SetSwitchLanguage(lang); //初始化商品(谷歌支付和ios支付) PurchasingManager.InitProduct(); isGameStart = true; bool enterGame = CommonHelper.GetBoolByChance(ConfigSystem.GetCommonConf().roomrate / 100f); EnterHall(true); // if (GameHelper.IsGiftSwitch() && enterGame) // { // // int a = ConfigSystem.GetCommonConf().BonusInside; // // int b = ConfigSystem.GetCommonConf().roomrate; // // var last_time = PlayerPrefs.GetInt("Dayreftimes", 0); // // DateTime newDate = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // // newDate = newDate.AddSeconds(GameHelper.GetNowTime(true)); // // // Debug.Log($"barry newdate==== {newDate}"); // // var newDays = newDate.Day; // // PlayerPrefs.SetInt("Dayreftimes", newDays); // // if (!SaveData.GetSaveObject().have_slot && ((last_time != newDays) || (UnityEngine.Random.Range(0, 100) < ConfigSystem.GetCommonConf().BonusInside))) // // { // // UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.AddviewnewUI_Open); // // } // // else // // { // EnterGame(enterGame); // // } // } TrackKit.TrackLoginFunnel(LoginFunnelEventType.EnterHall); // if (DataMgr.VipLevel.Value < 0 && DataMgr.VipExpirationTime.Value > 0) // { // PurchasingManager.CheckSubExpiration(true); // } // if (GameHelper.IsGiftSwitch()) UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.BroadcastUI_Open); } private void EnterHall(object obj = null) { enterHallTimes++; UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PlayUI_Close); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RewardAniUI_Close); AudioManager.Instance.PlayBGM(AudioConst.MainBg); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MainUI_Open); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.TabUI_Open); GameHelper.PlayGameTimeEvent(1); } private GameObject game_parent; private GameObject Canvas; private GameObject flower_parent; private void EnterGame(object obj) { // if (GameHelper.GetLevel() < GameHelper.GetCommonModel().MultiModal) // { // UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MainTabUI_Close); // UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MainUI_Close); // UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RainPlayUI_Open); // AudioManager.Instance.PlayBGM(AudioConst.GameBg); // } // else // { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MainTabUI_Close); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MainUI_Close); GameHelper.LoadSceneAsync("MainScene", () => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RainPlayUI_Open); }); AudioManager.Instance.PlayBGM(AudioConst.GameBg); // } } private void EnterPuzzle(object obj) { // if (game_parent != null) game_parent.SetActive(false); // if (Canvas != null) Canvas.SetActive(true); // if (flower_parent != null) flower_parent.SetActive(false); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.TabUI_Close); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MainUI_Close); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.HallgameUI_Close); GameHelper.LoadSceneAsync("puzzle", () => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PuzzleUI_Open); }); AudioManager.Instance.PlayBGM(AudioConst.GameBg); } private void EnterFlower(object obj) { // if (game_parent != null) game_parent.SetActive(false); // if (Canvas != null) Canvas.SetActive(false); // if (flower_parent != null) flower_parent.SetActive(true); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.TabUI_Close); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MainUI_Close); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.HallgameUI_Close); GameHelper.LoadSceneAsync("flower", () => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerUI_Open); }); AudioManager.Instance.PlayBGM(AudioConst.GameBg); } #region 缓存资源 #endregion public void Update() { if (!isGameStart) return; UpdateEvent?.Invoke(); _secondTime += Time.deltaTime; _secondTime1 += Time.deltaTime; if (_secondTime >= 1) { _secondTime = 0; UpdateSecondEvent?.Invoke(); } if (_secondTime1 >= 5) { _secondTime1 = 0; UpdateFiveSecondEvent?.Invoke(); } } public void AddChangeGiftSwitch(Action action) { } public void RemoveChangeGiftSwitch(Action action) { } // void OnApplicationQuit() // { // PreferencesMgr.Instance.ImmediateSendSave(); // } private bool isInH5; public void SetInH5(bool isInH5) { this.isInH5 = isInH5; } } }