Files
MinFt/Client/Assets/Scripts/UI/SmallGame/EventGamePlayPanel.cs
2026-04-27 12:07:32 +08:00

87 lines
2.6 KiB
C#

using asap.core;
using game;
using Game;
using GameCore;
using System.Threading.Tasks;
using UnityEngine;
public class EventGamePlayPanel : MonoBehaviour
{
GameObject bomb;
GameObject bank;
GameObject hunting;
int id;
bool isReward;
private void Awake()
{
bomb = transform.Find("root/bomb").gameObject;
bank = transform.Find("root/bank").gameObject;
hunting = transform.Find("root/hunting").gameObject;
GContext.container.Resolve<GuideDataCenter>().InspectTriggerGuide("EventGamePlayPanel");
}
public void StartGame(int id, bool isReward = false)
{
//GContext.Publish(new VibrationData(HapticTypes.Warning));
this.id = id;
this.isReward = isReward;
//bank.SetActive(id == 11);
bomb.SetActive(id == 12);
hunting.SetActive(id == 11);
Transition();
}
async void Transition()
{
await Task.Delay(1000);
IsShowGuidance isShowGuidance = new IsShowGuidance();
GContext.Publish(isShowGuidance);
if (!isShowGuidance.isShow)
{
EnterSmallGame();
}
else
{
await isShowGuidance.tcs.Task;
EnterSmallGame();
}
}
void EnterSmallGame()
{
IStageData stageData = GContext.container.Resolve<IStageData>();
stageData.Id = id;
stageData.Type = StageType.SmallGame;
stageData.IsRewardSettlement = isReward;
if (id == 11)
{
GContext.Publish(new UnloadActToNextAct("ShooterFishAct"));
}
else
{
GContext.Publish(new UnloadActToNextAct("SmallGameAct"));
}
cfg.Tables _tables = GContext.container.Resolve<cfg.Tables>();
if (GContext.container.Resolve<PlayerFishData>().GetAnglingCount() >= _tables.TbFixedFishList.DataList.Count
|| GContext.container.Resolve<PlayerData>().lastMapId != _tables.TbMapData.DataList[0].ID)
{
if (!GContext.container.Resolve<FishingData>().IsNewItemFish() && isReward)
{
GContext.container.Resolve<PlayerFishData>().SetBotCount(0);
}
}
GContext.Publish(new OnSoundStateEvent(0));
//ConvertTools.SetFSBlur(false);
DisableFishingBlur();
}
private void DisableFishingBlur()
{
var stage = RootCtx.container.Resolve<IStageService>().GetStage("FishingStage");
if(stage != null && stage.Id == "FishingStage")
{
var act = stage.CurrentAct as FishingAct;
if(act != null)
act.EnableFishingVolume(false);
}
}
}