CTT/Unity/Assets/HotfixView/Event/LoadUnitySceneEvent.cs

43 lines
1.5 KiB
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00
using Cal.DataTable;
using ET.EventType;
using System;
using System.Collections.Generic;
using UnityEngine;
namespace ET
{
public class LoadUnitySceneEvent : AEvent<LoadUnityScene>
{
public override async ETTask Run(LoadUnityScene args)
{
await SceneHelper.LoadSceneAsync(args.name);
switch (args.id)
{
default:
break;
case Sys_SceneId.Scene_PersonalPvp1:
case Sys_SceneId.Scene_PersonalPvp2:
case Sys_SceneId.Scene_PersonalPvp3:
Unit unit = await UnitFactory.Create(Game.IdGenerater.GenerateId(), Sys_PrefabId.PvpDisBoard, UnitType.SceneUnit);
unit.Position = new Vector3(-6.5f, -0.45f, PosHelper.NPCPos_Z);
var clickComponent = unit.AddComponent<ClickActionComponent>();
clickComponent.ClearAction();
clickComponent.onClick += () =>
{
Game.EventSystem.Publish(new ET.EventType.OpenPvpBoardUI
{
zoneScene = args.zoneScene
}).Coroutine();
};
Game.EventSystem.Publish_Sync(new ET.EventType.SetHudCharacter
{
unit = unit,
level = 0,
name ="公示牌"
});
break;
}
}
}
}