Newer
Older
TheVengeance-Project-IADE-Unity2D / Assets / Scripts / Player / Stats / Stats.cs
  1. namespace MyCollections.Stats
  2. {
  3. public enum StatType
  4. {
  5. Attack,
  6. Defense,
  7. Health,
  8. Mana
  9. }
  10. public class Stats
  11. {
  12. private readonly StatsMediator mediator;
  13. private readonly PlayerController controller;
  14. public StatsMediator Mediator => mediator;
  15. public int Attack
  16. {
  17. get
  18. {
  19. Query query = new Query(StatType.Attack, controller.CurrentPlayerAttack);
  20. mediator.PerformQuery(this, query);
  21. return (int)query.value;
  22. }
  23. }
  24. public int Defense
  25. {
  26. get
  27. {
  28. Query query = new Query(StatType.Defense, controller.CurrentPlayerAttack);
  29. mediator.PerformQuery(this, query);
  30. return (int)query.value;
  31. }
  32. }
  33. public Stats(StatsMediator mediator, PlayerController controller)
  34. {
  35. this.mediator = mediator;
  36. this.controller = controller;
  37. }
  38. //Debugging purposes
  39. public override string ToString() => $"Attack: {Attack}, Defende: {Defense}";
  40. }
  41. }