// // Created by IgorBat on 17.03.2018. // #ifndef THE_GAME_EFFECT_H #define THE_GAME_EFFECT_H #pragma once #include #include //#include "AbstractFactory.h" class Unit; class Cell; enum typeEffect{instancePoint, ongoingPoint, instanceUnit, ongoingUnit}; enum specieEffect{agility_, attack_range_, damage_per_hit_, intelligence_}; class Effect { private: int count_; typeEffect typeEffect_; specieEffect specieEffect_; public: Effect() = delete; Effect(std::string path) { } virtual ~Effect() = delete; int getCount(); void setCount(int value); typeEffect getType(); void setType(typeEffect value); specieEffect getSpecie(); void setSpecie(specieEffect value); void OperateOnCell(Cell*); void OperateOnUnit(Unit*); //logic here. }; #endif //THE_GAME_EFFECT_H