NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Character/Character.GameObject.cs

45 lines
1.2 KiB
C#

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);
}
}
}