effect.h 854 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //
  2. // Created by IgorBat on 17.03.2018.
  3. //
  4. #ifndef THE_GAME_EFFECT_H
  5. #define THE_GAME_EFFECT_H
  6. #pragma once
  7. #include <iostream>
  8. #include <vector>
  9. //#include "AbstractFactory.h"
  10. class Unit;
  11. class Cell;
  12. enum typeEffect{instancePoint, ongoingPoint, instanceUnit, ongoingUnit};
  13. enum specieEffect{agility_, attack_range_, damage_per_hit_, intelligence_};
  14. class Effect {
  15. private:
  16. int count_;
  17. typeEffect typeEffect_;
  18. specieEffect specieEffect_;
  19. public:
  20. Effect() = delete;
  21. Effect(std::string path) {
  22. }
  23. virtual ~Effect() = delete;
  24. int getCount();
  25. void setCount(int value);
  26. typeEffect getType();
  27. void setType(typeEffect value);
  28. specieEffect getSpecie();
  29. void setSpecie(specieEffect value);
  30. void OperateOnCell(Cell*);
  31. void OperateOnUnit(Unit*);
  32. //logic here.
  33. };
  34. #endif //THE_GAME_EFFECT_H