12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- //
- // Created by IgorBat on 17.03.2018.
- //
- #ifndef THE_GAME_SPELL_H
- #define THE_GAME_SPELL_H
- #pragma once
- #include <iostream>
- #include <vector>
- #include <list>
- //#include "AbstractFactory.h"
- #include "effect.h"
- class Unit{
- std :: list <Effect> effectsOnUnit;
- };
- class Cell{
- std :: list <Effect> effectsOnCell;
- };
- class Spell {
- protected:
- std :: list <Effect> effects_;
- private:
- int distance_;
- bool forCell_;
- public:
- Spell() = delete;
- Spell(std::string path) {
- }
- virtual ~Spell() = delete;
- int getDistance();
- void setDistance(int value);
- bool getForCell();
- void setForCell(bool value);
- //int lenOfSmallestPath(Cell* destination);
- virtual bool canCastForDistance(int distance);
- virtual bool canCastToCell(Cell* destination);
- virtual void castToCell(Cell* destination);
- void CastSpell(Cell* from, Cell* where, Unit* who, Unit* whom);
- };
- #endif //THE_GAME_SPELL_H
|