In progress changes for saving enemy defeated data

This commit is contained in:
2026-06-06 10:52:08 -07:00
parent bb46f0dcd9
commit 0f849f11dc
8 changed files with 41 additions and 2 deletions
+15 -1
View File
@@ -26,6 +26,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
[Dependency] protected IPlayer _player => this.DependOn(() => GetParent().GetChildren().OfType<IPlayer>().Single());
[Dependency] protected IGameRepo _gameRepo => this.DependOn<IGameRepo>();
[Dependency] public IGame _game => this.DependOn<IGame>();
#endregion
public IHealthComponent HealthComponent { get; private set; }
@@ -177,7 +179,7 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
_hitSFX.Play();
}
public virtual void Die()
public virtual async void Die()
{
SetPhysicsProcess(false);
_rustDuration.Stop();
@@ -188,6 +190,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
_hitSFX.Play();
_dieSFX.Play();
_gameRepo.OnEnemyDied(this);
IncrementDefeatCount();
await _game.Save();
var tweener = CreateTween();
tweener.TweenInterval(1.0f);
tweener.TweenCallback(Callable.From(QueueFree));
@@ -290,4 +294,14 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
{
StatusEffectComponent.Rust.OnNext(false);
}
public virtual void IncrementDefeatCount()
{
}
public int GetDefeatCount(IEnemy enemyType)
{
return 0;
}
}