using Cal.DataTable; using ET.EventType; using System; using System.Collections.Generic; using UnityEngine; namespace ET { public class LoadUnitySceneEvent : AEvent { public override async ETTask Run(LoadUnityScene args) { var zoneScene = args.zoneScene; 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(zoneScene,Game.IdGenerater.GenerateId(), Sys_PrefabId.PvpDisBoard, UnitType.SceneUnit); unit.Position = new Vector3(-6.5f, -0.45f, PosHelper.NPCPos_Z); ClickActionComponent clickComponent = unit.AddComponent(); 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; } } } }