slumber-quest/modificators/removecontrollersmodificator.h

32 lines
823 B
C
Raw Normal View History

#ifndef REMOVECONTROLLERSMODIFICATOR_H
#define REMOVECONTROLLERSMODIFICATOR_H
#include <string>
#include <memory>
#include <list>
#include "modificator.h"
class Location;
class Controller;
class RemoveControllersModificator : public Modificator
{
public:
explicit RemoveControllersModificator();
virtual ~RemoveControllersModificator() override;
virtual void run() const override;
void setDependentObjects(const std::shared_ptr<Location>& location,
const std::list<std::shared_ptr<Controller>>& controllers,
const std::string& new_message);
private:
std::shared_ptr<Location> _location;
std::list<std::shared_ptr<Controller>> _controllers_to_remove;
std::string _new_location_message;
};
#endif // REMOVECONTROLLERSMODIFICATOR_H