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

60 lines
2.1 KiB
C#

using Cysharp.Threading.Tasks;
using Unity.Loader;
using UnityEngine;
namespace ZC
{
[Procedure(ProcedureType.首页Procedure)]
class Procedure : ProcedureBase
{
TriggerEvent triggerEvent;
public override void OnEnter()
{
base.OnEnter();
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();
}
void MainUI_Callback()
{
// Global.UIManager.HideUI(UIType.MainUI);
var introduceUI = (IntroduceUI)Global.UIManager.ShowUI(UIType.IntroduceUI);
introduceUI.SetData(ConstStr., ConstStr., IntroduceUI_Callback);
}
private void IntroduceUI_Callback()
{
Global.UIManager.HideUI(UIType.IntroduceUI);
Global.UIManager.ShowUI(UIType.TaskListUI);
var bigTipsUI = (BigTipsUI)Global.UIManager.ShowUI(UIType.BigTipsUI);
bigTipsUI.SetData(ConstStr.);
// 开启箭头碰撞事件并注入回调
var gameObject = ResourcesLocalComponent.Instance.LoadGameObjectSync(AssetConst
.Assets_DemoGame_GameRes_Entity__prefab);
triggerEvent = gameObject.GetOrAddComponent<TriggerEvent>();
triggerEvent.SetData(PlayerMoveToPoint);
}
private void PlayerMoveToPoint()
{
async UniTask Close()
{
triggerEvent.Dispose();
await CommonHelper.OpenLoadingAsync();
Global.UIManager.HideUI(UIType.BigTipsUI);
Global.ProcedureManager.ChangeProcedure(ProcedureType.Procedure);
}
Close().Forget();
}
}
}