Rework game over logic and game initialization

This commit is contained in:
2025-10-27 15:04:01 -07:00
parent 720696aed0
commit 7e6dca1c29
46 changed files with 653 additions and 610 deletions
@@ -10,21 +10,23 @@ public class AttackComponent : IAttackComponent
public IAutoProp<int> MaximumAttack => _maximumAttack;
public IAutoProp<int> BonusAttack => _bonusAttack;
public int TotalAttack => CurrentAttack.Value + BonusAttack.Value;
private readonly AutoProp<int> _currentAttack;
private readonly AutoProp<int> _maximumAttack;
private readonly AutoProp<int> _bonusAttack;
private readonly int _initialValue;
public AttackComponent(int attackValue)
{
_maximumAttack = new AutoProp<int>(attackValue);
_currentAttack = new AutoProp<int>(attackValue);
_bonusAttack = new AutoProp<int>(0);
_initialValue = attackValue;
}
public void Reset()
{
_maximumAttack.OnNext(_initialValue);
_currentAttack.OnNext(_initialValue);
}
public void Restore(int restoreAmount)
@@ -50,14 +52,4 @@ public class AttackComponent : IAttackComponent
_maximumAttack.OnNext(raiseAmount);
Restore(raiseAmount);
}
public void RaiseBonusAttack(int raiseAmount)
{
_bonusAttack.OnNext(_bonusAttack.Value + raiseAmount);
}
public void ResetBonusAttack()
{
_bonusAttack.OnNext(0);
}
}