Newer
Older
TheVengeance-Project-IADE-Unity2D / Assets / Scripts / Player / Stats / Stats.cs

namespace MyCollections.Stats
{
    public enum StatType
    {
        Attack,
        Defense,
        Health,
        Mana
    }

    public class Stats
    {
        private readonly StatsMediator mediator;
        private readonly PlayerController controller;

        public StatsMediator Mediator => mediator;

        public int Attack
        {
            get
            {
                Query query = new Query(StatType.Attack, controller.CurrentPlayerAttack);
                mediator.PerformQuery(this, query);
                return (int)query.value;
            }
        }

        public int Defense
        {
            get
            {
                Query query = new Query(StatType.Defense, controller.CurrentPlayerAttack);
                mediator.PerformQuery(this, query);
                return (int)query.value;

            }
        }

        public Stats(StatsMediator mediator, PlayerController controller)
        {
            this.mediator = mediator;
            this.controller = controller;
        }

        //Debugging purposes
        public override string ToString() => $"Attack: {Attack}, Defende: {Defense}";
    }
}