using cfg.CharacterCfg; using Cysharp.Threading.Tasks; using Framework; using Gameplay.Emoji; using Gameplay.Level; using Gameplay.Performance; using UnityEngine; namespace Gameplay.Character { public partial class Character { public async UniTask LoadAsync() { var obj = await Load(runtimeData.configData.modelPath); PerformanceManager.instance.HandleCreateUnit(obj); await _OnObjLoaded(obj); } private async UniTask _OnObjLoaded(GameObject obj) { var isEnemy = troopId != ETroopsId.Self; emojiManager = EmojiManager.inst.InitCharacter(this); cAnim = new CharacterAnim(this); await cAnim.Init(); weapon = new Weapon.ViewWeapon(this); OutlineManager.instance.AutoAddFromObj(obj, isEnemy); } protected override void UpdateGameObjectName() { SetName($"Character_{GetID()}"); DebugUtil.Log(Node.GameObject.name); } protected override void OnDispose() { base.OnDispose(); SelecterView.Instance.UnSelect(Node); } } }