Files
MiniGame_Unity_GP/Assets/Legend/Manager/HallManager.cs
T

235 lines
8.0 KiB
C#
Raw Normal View History

2026-07-06 16:27:14 +08:00
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<HallManager>
{
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;
}
}
}