迁移 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,4 +1,6 @@
using SepCore.Definition;
using Cysharp.Threading.Tasks;
using SepCore.AsyncTask;
using SepCore.Definition;
using SepCore.Entity;
using UnityEngine;
@@ -10,5 +12,31 @@ public abstract class EnemyBase : TargetableObject
public virtual float AttackRange => 1f;
public virtual void SetTarget(Transform target) => _target = target;
protected EnemyData _enemyData;
protected override void OnDead(EntityBase attacker)
{
if (Random.value < _enemyData.DropPercent)
{
var data = new CoinData(_enemyData.DropCoin, GameEntry.Entity.NextId(), 10001)
{
Position = this.CachedTransform.position
};
GameEntry.Entity.ShowCoinAsync(data).Forget();
}
if (Random.value < _enemyData.DropPercent)
{
var data = new ExpData(_enemyData.DropExp, GameEntry.Entity.NextId(), 10002)
{
Position = this.CachedTransform.position
};
GameEntry.Entity.ShowExpAsync(data).Forget();
}
base.OnDead(attacker);
}
}