迁移 Coin/Exp/Projectile/Effect 实体的生成路径

This commit is contained in:
SepComet
2026-06-16 17:09:19 +08:00
committed by basil
parent 734f2cd5af
commit d28ccaa7f9
5 changed files with 53 additions and 45 deletions
@@ -1,7 +1,6 @@
using SepCore.Components;
using SepCore.CustomUtility;
using SepCore.Definition;
using SepCore.Entity;
using UnityEngine;
using UnityGameFramework.Runtime;
@@ -27,7 +26,13 @@ namespace SepCore.Entity
private float _currAttackTimer;
private AttackStateType _attackState = AttackStateType.Idle;
private EnemyData _meleeEnemyData;
private EnemyData _meleeEnemyData
{
get => _enemyData;
set => _enemyData = value;
}
private TargetableObject _targetableTarget;
protected override TargetableObjectData _targetableObjectData => _meleeEnemyData;
@@ -83,29 +88,6 @@ namespace SepCore.Entity
UpdateAttackState(elapseSeconds);
}
protected override void OnDead(EntityBase attacker)
{
if (Random.value < _meleeEnemyData.DropPercent)
{
var data = new CoinData(_meleeEnemyData.DropCoin, GameEntry.Entity.NextId(), 10001)
{
Position = this.CachedTransform.position
};
GameEntry.Entity.ShowCoin(data);
}
if (Random.value < _meleeEnemyData.DropPercent)
{
var data = new ExpData(_meleeEnemyData.DropExp, GameEntry.Entity.NextId(), 10002)
{
Position = this.CachedTransform.position
};
GameEntry.Entity.ShowExp(data);
}
base.OnDead(attacker);
}
protected override void OnHide(bool isShutdown, object userData)
{
_movementComponent.OnReset();