spell.h 802 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // Created by IgorBat on 17.03.2018.
  3. //
  4. #ifndef THE_GAME_SPELL_H
  5. #define THE_GAME_SPELL_H
  6. #pragma once
  7. #include <iostream>
  8. #include <vector>
  9. //#include "AbstractFactory.h"
  10. #include "effect.h"
  11. class Cell;
  12. class Spell {
  13. protected:
  14. std::vector <Effect> effects_;
  15. private:
  16. int distance_;
  17. bool forCell_;
  18. public:
  19. Spell() = delete;
  20. Spell(std::string path) {
  21. }
  22. virtual ~Spell() = delete;
  23. int getDistance();
  24. void setDistance(int value);
  25. bool getForCell();
  26. void setForCell(bool value);
  27. int lenOfActualPath(Cell* destination);
  28. virtual bool canCastForDistance(int distance);
  29. virtual bool canCastToCell(Cell* destination);
  30. virtual void castToCell(Cell* destination);
  31. };
  32. #endif //THE_GAME_SPELL_H