using ET; using Cal.DataTable; using System; using System.Collections.Generic; using UnityEngine; namespace ET { public class CreateRoleUnitAwakeSystem : AwakeSystem { public override async void Awake(CreateRoleUnit self,GameObject go) { self.gameObject = go; go.GetOrAddComponent().Component = self; self.SelectEffect = (await ResourceViewHelper.LoadPrefabAsync(Sys_PrefabId.Select)).gameObject; self.SelectEffect.transform.position = self.pos; self.SelectEffect.SetActive(false); } } public class CreateRoleUnitDestroySystem : DestroySystem { public override void Destroy(CreateRoleUnit self) { ResourceViewHelper.DestoryPrefabAsync(self.gameObject); ResourceViewHelper.DestoryPrefabAsync(self.SelectEffect); self.gameObject = null; self.SelectEffect = null; } } public class CreateRoleUnit:Entity { private GameObject _go; public GameObject gameObject { get => _go; set { _go = value; dY = _go.transform.Find("FootPoint").transform.position.y - _go.transform.position.y; pos = _go.transform.position; } } private float dY; private Vector3 _pos; public Vector3 pos { get => _pos; set { _pos = value+new Vector3(0,dY,0); gameObject.transform.position = _pos; } } public GameObject SelectEffect { get; set; } public int JobId { get; internal set; } } }