HAARFTE/Assets/DemoGame/GameScript/Hotfix/Procedure/Logic/首页Procedure.cs

60 lines
2.1 KiB
C#
Raw Permalink Normal View History

2024-11-28 23:50:38 +08:00
using Cysharp.Threading.Tasks;
using Unity.Loader;
2024-12-03 11:30:31 +08:00
using UnityEngine;
2024-11-28 23:50:38 +08:00
namespace ZC
{
[Procedure(ProcedureType.首页Procedure)]
class Procedure : ProcedureBase
{
2024-12-04 21:28:15 +08:00
TriggerEvent triggerEvent;
2024-12-04 23:54:19 +08:00
2024-11-28 23:50:38 +08:00
public override void OnEnter()
{
base.OnEnter();
2024-12-04 23:54:19 +08:00
async UniTask Enter()
{
ResourcesLocalComponent.Instance.LoadScene(AssetConst.Assets_DemoGame_GameRes_Scene_MainScene_unity);
await CommonHelper.CloseLoadingAsync();
var mainUI = (MainUI)Global.UIManager.ShowUI(UIType.MainUI);
mainUI.SetData(MainUI_Callback);
}
Enter().Forget();
2024-11-28 23:50:38 +08:00
}
void MainUI_Callback()
{
2024-12-02 17:42:16 +08:00
// Global.UIManager.HideUI(UIType.MainUI);
var introduceUI = (IntroduceUI)Global.UIManager.ShowUI(UIType.IntroduceUI);
2024-11-28 23:50:38 +08:00
introduceUI.SetData(ConstStr., ConstStr., IntroduceUI_Callback);
}
private void IntroduceUI_Callback()
{
Global.UIManager.HideUI(UIType.IntroduceUI);
2024-12-02 17:42:16 +08:00
Global.UIManager.ShowUI(UIType.TaskListUI);
var bigTipsUI = (BigTipsUI)Global.UIManager.ShowUI(UIType.BigTipsUI);
2024-11-28 23:50:38 +08:00
bigTipsUI.SetData(ConstStr.);
// 开启箭头碰撞事件并注入回调
var gameObject = ResourcesLocalComponent.Instance.LoadGameObjectSync(AssetConst
.Assets_DemoGame_GameRes_Entity__prefab);
2024-12-04 21:28:15 +08:00
triggerEvent = gameObject.GetOrAddComponent<TriggerEvent>();
triggerEvent.SetData(PlayerMoveToPoint);
2024-11-28 23:50:38 +08:00
}
private void PlayerMoveToPoint()
{
2024-12-04 23:54:19 +08:00
async UniTask Close()
{
triggerEvent.Dispose();
await CommonHelper.OpenLoadingAsync();
Global.UIManager.HideUI(UIType.BigTipsUI);
Global.ProcedureManager.ChangeProcedure(ProcedureType.Procedure);
}
Close().Forget();
2024-11-28 23:50:38 +08:00
}
}
}