2023-08-22 19:08:45 +08:00
|
|
|
|
using Cysharp.Threading.Tasks;
|
2023-10-19 15:00:19 +08:00
|
|
|
|
using Gameplay.Emoji;
|
2023-08-22 19:08:45 +08:00
|
|
|
|
using Gameplay.Level;
|
2023-10-19 15:00:19 +08:00
|
|
|
|
using Gameplay.Performance;
|
2024-02-20 13:45:32 +08:00
|
|
|
|
using Gameplay.Unit;
|
|
|
|
|
|
using PhxhSDK;
|
2023-08-22 19:08:45 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Gameplay.Character
|
|
|
|
|
|
{
|
|
|
|
|
|
public partial class Character
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2024-04-08 17:44:33 +08:00
|
|
|
|
public Transform leftHandTrans;
|
|
|
|
|
|
public Transform rightHandTrans;
|
|
|
|
|
|
|
2024-02-20 13:45:32 +08:00
|
|
|
|
public async UniTask CreateAsync()
|
2023-08-22 19:08:45 +08:00
|
|
|
|
{
|
2024-02-20 13:45:32 +08:00
|
|
|
|
var modelPath = runtimeData.configData.modelPath;
|
|
|
|
|
|
GameUnitManager.instance.RecordLoadPath(modelPath);
|
2024-02-20 14:33:52 +08:00
|
|
|
|
await AssetManager.Instance.PostPreload<GameObject>(modelPath);
|
2024-02-20 13:45:32 +08:00
|
|
|
|
var obj = Load(runtimeData.configData.modelPath);
|
2023-10-19 15:00:19 +08:00
|
|
|
|
PerformanceManager.instance.HandleCreateUnit(obj);
|
2023-08-22 19:08:45 +08:00
|
|
|
|
await _OnObjLoaded(obj);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private async UniTask _OnObjLoaded(GameObject obj)
|
|
|
|
|
|
{
|
|
|
|
|
|
var isEnemy = troopId != ETroopsId.Self;
|
2023-10-30 12:09:55 +08:00
|
|
|
|
|
|
|
|
|
|
// emoji 会替换outline,所以要在emoji之后
|
|
|
|
|
|
OutlineManager.instance.AutoAddFromObj(obj, isEnemy);
|
2024-04-08 17:44:33 +08:00
|
|
|
|
|
|
|
|
|
|
leftHandTrans = Skeleton.GetBone("Grip_point02");
|
|
|
|
|
|
rightHandTrans = Skeleton.GetBone("Grip_point01");
|
2023-10-30 12:09:55 +08:00
|
|
|
|
|
2023-08-22 19:08:45 +08:00
|
|
|
|
cAnim = new CharacterAnim(this);
|
|
|
|
|
|
await cAnim.Init();
|
|
|
|
|
|
weapon = new Weapon.ViewWeapon(this);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void UpdateGameObjectName()
|
|
|
|
|
|
{
|
|
|
|
|
|
SetName($"Character_{GetID()}");
|
2024-06-06 15:39:43 +08:00
|
|
|
|
// DebugUtil.Log(Node.GameObject.name);
|
2023-08-22 19:08:45 +08:00
|
|
|
|
}
|
2024-09-27 19:05:49 +08:00
|
|
|
|
|
2023-08-22 19:08:45 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|