//
// Created by IgorBat on 17.03.2018.
//

#ifndef THE_GAME_EFFECT_H
#define THE_GAME_EFFECT_H

#pragma once
#include <iostream>
#include <vector>
//#include "AbstractFactory.h"

class Unit;
class Cell;


class Effect {

private:
    int count_;
    int durability_;
public:
    Effect() = delete;
    Effect(std::string path) {

    }
    virtual ~Effect() = delete;

    int getCount();
    void setCount(int value);

    virtual void OperateOnCell(Cell*) = 0;
    virtual void OperateOnUnit(Unit*) = 0;
    //logic here.
};
#endif //THE_GAME_EFFECT_H