1 #ifndef EDITOR_COMPONENTS_MAPACTIONS_HPP
2 #define EDITOR_COMPONENTS_MAPACTIONS_HPP
12 static EditMap::Action::Ptr
create(
unsigned int level,
unsigned int layer,
13 const sf::Vector2i& pos,
bool isAnim,
22 const unsigned int level;
23 const unsigned int layer;
24 const sf::Vector2i position;
30 SetTileAction(
unsigned int level,
unsigned int layer,
const sf::Vector2i& pos,
37 static EditMap::Action::Ptr
create(
unsigned int level,
unsigned int layer,
38 const sf::IntRect& area,
bool isAnim,
47 const unsigned int level;
48 const unsigned int layer;
49 const sf::IntRect area;
50 const bl::ctr::Vector2D<core::map::Tile::IdType> prev;
51 const bl::ctr::Vector2D<std::uint8_t> wasAnim;
57 SetTileAreaAction(
unsigned int level,
unsigned int layer,
const sf::IntRect& area,
58 bl::ctr::Vector2D<core::map::Tile::IdType>&& prev,
59 bl::ctr::Vector2D<std::uint8_t>&& wasAnim,
65 static Action::Ptr
create(
unsigned int level,
unsigned int layer,
const sf::Vector2i& pos,
75 sf::Vector2i position;
82 , isAnim(tile.isAnimation()) {}
85 const unsigned int level;
86 const unsigned int layer;
89 const std::vector<FillTile> set;
92 std::vector<FillTile>&& set);
97 static EditMap::Action::Ptr
create(
unsigned int level,
const sf::Vector2i& pos,
106 const unsigned int level;
107 const sf::Vector2i pos;
126 const unsigned int level;
128 const std::vector<std::pair<sf::Vector2i, core::map::Collision>> set;
131 std::vector<std::pair<sf::Vector2i, core::map::Collision>>&& set);
136 static EditMap::Action::Ptr
create(
unsigned int level,
const sf::IntRect& area,
145 const unsigned int level;
146 const sf::IntRect area;
148 const bl::ctr::Vector2D<core::map::Collision> ogVals;
151 bl::ctr::Vector2D<core::map::Collision>&& ogcols);
156 static EditMap::Action::Ptr
create(
unsigned int level,
const sf::Vector2i& pos,
157 std::uint8_t value,
const EditMap& map);
165 const unsigned int level;
166 const sf::Vector2i pos;
167 const std::uint8_t value;
168 const std::uint8_t ogVal;
170 SetCatchAction(
unsigned int level,
const sf::Vector2i& pos, std::uint8_t value,
176 static EditMap::Action::Ptr
create(
unsigned int level,
const sf::IntRect& area,
177 std::uint8_t value,
const EditMap& map);
185 const unsigned int level;
186 const sf::IntRect area;
187 const std::uint8_t value;
188 const bl::ctr::Vector2D<std::uint8_t> ogVals;
191 bl::ctr::Vector2D<std::uint8_t>&& ogcols);
196 static Action::Ptr
create(
unsigned int level,
const sf::Vector2i& pos, std::uint8_t
id,
205 const unsigned int level;
206 const std::uint8_t id;
207 const std::vector<std::pair<sf::Vector2i, std::uint8_t>> set;
210 std::vector<std::pair<sf::Vector2i, std::uint8_t>>&& set);
215 static EditMap::Action::Ptr
create(
const std::string& playlist,
const EditMap& editMap);
223 const std::string orig;
224 const std::string playlist;
231 static EditMap::Action::Ptr
create(
const std::string& name,
const EditMap& editMap);
239 const std::string orig;
240 const std::string name;
242 SetNameAction(
const std::string& orig,
const std::string& name);
265 static EditMap::Action::Ptr
create(
unsigned int level,
Location location);
273 const unsigned int level;
281 static EditMap::Action::Ptr
create(
unsigned int level,
unsigned int layer,
const EditMap& map);
289 const unsigned int level;
290 const unsigned int layer;
299 static EditMap::Action::Ptr
create(
unsigned int level,
unsigned int layer,
bool up);
307 const unsigned int level;
308 const unsigned int layer;
316 static EditMap::Action::Ptr
create(
unsigned int level,
bool up);
324 const unsigned int level;
332 static EditMap::Action::Ptr
create();
345 static EditMap::Action::Ptr
create(
bool load,
const std::string& s,
const std::string& p);
357 SetScriptAction(
bool load,
const std::string& s,
const std::string& p);
371 const unsigned int i;
389 const unsigned int i;
405 const unsigned int i;
412 static Action::Ptr
create(
unsigned int lvl,
const sf::Vector2i& pos,
unsigned int id,
413 bl::tmap::Direction dir);
421 const unsigned int level;
422 const sf::Vector2i pos;
423 const unsigned int id;
424 const bl::tmap::Direction dir;
426 AddSpawnAction(
unsigned int lvl,
const sf::Vector2i& pos,
unsigned int id,
427 bl::tmap::Direction dir);
432 static Action::Ptr
create(
unsigned int id);
440 const unsigned int id;
455 const unsigned int id;
472 const unsigned int i;
488 const unsigned int i;
507 const unsigned int i;
514 static Action::Ptr
create(
unsigned int i,
unsigned int level,
const sf::Vector2i& pos,
524 const unsigned int i;
525 const unsigned int level;
526 const sf::Vector2i position;
538 static Action::Ptr
create(
unsigned int i,
unsigned int level,
const sf::Vector2i& pos,
547 const unsigned int i;
548 const unsigned int level;
549 const sf::Vector2i position;
552 RemoveItemAction(
unsigned int i,
unsigned int level,
const sf::Vector2i& pos,
558 static Action::Ptr
create(
const sf::Vector2i& pos,
unsigned int radius,
591 static Action::Ptr
create();
613 const std::uint8_t index;
631 const std::uint8_t index;
633 std::vector<std::pair<unsigned int, sf::Vector2i>> cleared;
640 static Action::Ptr
create(
bool sunlight, std::uint8_t upper, std::uint8_t lower,
650 const bool origSunlight;
651 const std::uint8_t origLower;
652 const std::uint8_t lower;
653 const std::uint8_t origUpper;
654 const std::uint8_t upper;
662 static Action::Ptr
create();
684 const std::uint8_t i;
701 const std::uint8_t i;
703 std::vector<sf::Vector2i> tiles;
710 static Action::Ptr
create(
const sf::Vector2i& pos, std::uint8_t
id, std::uint8_t orig);
718 const sf::Vector2i pos;
719 const std::uint8_t id;
720 const std::uint8_t orig;
727 static Action::Ptr
create(
const sf::IntRect& area, std::uint8_t
id,
EditMap& map);
735 const sf::IntRect area;
736 const std::uint8_t id;
737 const bl::ctr::Vector2D<std::uint8_t> orig;
740 bl::ctr::Vector2D<std::uint8_t>&& orig);
745 static Action::Ptr
create(
const sf::Vector2i& pos, std::uint8_t
id,
EditMap& map);
753 const std::vector<std::pair<sf::Vector2i, std::uint8_t>> set;
754 const std::uint8_t id;
756 FillTownTileAction(std::uint8_t
id, std::vector<std::pair<sf::Vector2i, std::uint8_t>>&& set);
770 const sf::Vector2i pos;
788 const sf::IntRect area;
790 const bl::ctr::Vector2D<core::map::LevelTransition> orig;
793 bl::ctr::Vector2D<core::map::LevelTransition>&& orig);
Id
Represents an item in its simplist form.
Collision
The different types of collisions in maps.
LevelTransition
Represents a level transition in a map. Level transitions are applied when an entity moves either ont...
All classes and functionality used for implementing the game editor.
Represents a class of catchable peoplemon.
Represents a character to be spawned into a map on load.
Represents an event in a Map. A script that is run on a trigger within a given region.
Basic struct representing a pickup-able item in Map.
Generic map layer class. Can be used for any type of layer.
Represents a renderable light in a Map.
System for handling lighting in Maps. Manages all the lights and performs rendering....
Basic struct representing a spawn in a Map.
Data representation of a tile in a Map TileLayer.
Represents a town, route, or region within a map. Maps may have many towns. Individual tiles are asso...
Wrapper over the core::Map class that is directly usable in a bl::gui::GUI.
virtual bool undo(EditMap &map) override
virtual ~SetTileAction()=default
virtual const char * description() const override
static EditMap::Action::Ptr create(unsigned int level, unsigned int layer, const sf::Vector2i &pos, bool isAnim, core::map::Tile::IdType value, const EditMap &map)
virtual bool apply(EditMap &map) override
virtual ~SetTileAreaAction()=default
virtual const char * description() const override
virtual bool apply(EditMap &map) override
static EditMap::Action::Ptr create(unsigned int level, unsigned int layer, const sf::IntRect &area, bool isAnim, core::map::Tile::IdType value, const EditMap &map)
virtual bool undo(EditMap &map) override
virtual bool undo(EditMap &map) override
static Action::Ptr create(unsigned int level, unsigned int layer, const sf::Vector2i &pos, core::map::Tile::IdType id, bool isAnim, EditMap &map)
virtual ~FillTileAction()=default
virtual const char * description() const override
virtual bool apply(EditMap &map) override
static EditMap::Action::Ptr create(unsigned int level, const sf::Vector2i &pos, core::map::Collision value, const EditMap &map)
virtual ~SetCollisionAction()=default
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
virtual const char * description() const override
virtual ~FillCollisionAction()=default
static Action::Ptr create(unsigned int level, const sf::Vector2i &pos, core::map::Collision col, EditMap &map)
virtual const char * description() const override
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual ~SetCollisionAreaAction()=default
virtual bool apply(EditMap &map) override
static EditMap::Action::Ptr create(unsigned int level, const sf::IntRect &area, core::map::Collision value, const EditMap &map)
virtual ~SetCatchAction()=default
static EditMap::Action::Ptr create(unsigned int level, const sf::Vector2i &pos, std::uint8_t value, const EditMap &map)
virtual bool undo(EditMap &map) override
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual ~SetCatchAreaAction()=default
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual bool apply(EditMap &map) override
static EditMap::Action::Ptr create(unsigned int level, const sf::IntRect &area, std::uint8_t value, const EditMap &map)
virtual bool undo(EditMap &map) override
virtual const char * description() const override
static Action::Ptr create(unsigned int level, const sf::Vector2i &pos, std::uint8_t id, EditMap &map)
virtual ~FillCatchAction()=default
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
virtual ~SetPlaylistAction()=default
static EditMap::Action::Ptr create(const std::string &playlist, const EditMap &editMap)
virtual bool undo(EditMap &map) override
virtual const char * description() const override
static EditMap::Action::Ptr create(const std::string &name, const EditMap &editMap)
virtual ~SetNameAction()=default
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
static EditMap::Action::Ptr create(core::map::Weather::Type type, const EditMap &map)
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual ~SetWeatherAction()=default
virtual bool undo(EditMap &map) override
virtual ~AppendLayerAction()=default
static EditMap::Action::Ptr create(unsigned int level, Location location)
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual ~RemoveLayerAction()=default
virtual bool apply(EditMap &map) override
static EditMap::Action::Ptr create(unsigned int level, unsigned int layer, const EditMap &map)
virtual const char * description() const override
static EditMap::Action::Ptr create(unsigned int level, unsigned int layer, bool up)
virtual bool undo(EditMap &map) override
virtual ~ShiftLayerAction()=default
virtual bool apply(EditMap &map) override
virtual ~ShiftLevelAction()=default
static EditMap::Action::Ptr create(unsigned int level, bool up)
virtual bool undo(EditMap &map) override
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual ~AppendLevelAction()=default
virtual bool apply(EditMap &map) override
virtual const char * description() const override
static EditMap::Action::Ptr create()
virtual ~SetScriptAction()=default
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
static EditMap::Action::Ptr create(bool load, const std::string &s, const std::string &p)
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual const char * description() const override
static Action::Ptr create(const core::map::Event &e, unsigned int i)
virtual bool apply(EditMap &map) override
virtual ~AddEventAction()=default
virtual bool apply(EditMap &map) override
static Action::Ptr create(const core::map::Event &orig, const core::map::Event &val, unsigned int i)
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual ~EditEventAction()=default
virtual ~RemoveEventAction()=default
virtual bool apply(EditMap &map) override
static Action::Ptr create(const core::map::Event &e, unsigned int i)
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual ~AddSpawnAction()=default
static Action::Ptr create(unsigned int lvl, const sf::Vector2i &pos, unsigned int id, bl::tmap::Direction dir)
virtual bool undo(EditMap &map) override
virtual const char * description() const override
virtual bool apply(EditMap &map) override
static Action::Ptr create(unsigned int id)
virtual ~RotateSpawnAction()=default
virtual bool undo(EditMap &map) override
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual const char * description() const override
static Action::Ptr create(unsigned int id, const core::map::Spawn &spawn)
virtual ~RemoveSpawnAction()=default
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
static Action::Ptr create(const core::map::CharacterSpawn &s, unsigned int i)
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual ~AddNpcSpawnAction()=default
virtual ~EditNpcSpawnAction()=default
virtual bool undo(EditMap &map) override
static Action::Ptr create(unsigned int i, const core::map::CharacterSpawn &orig, const core::map::CharacterSpawn &s)
virtual bool apply(EditMap &map) override
virtual const char * description() const override
static Action::Ptr create(const core::map::CharacterSpawn &orig, unsigned int i)
virtual ~RemoveNpcSpawnAction()=default
virtual bool undo(EditMap &map) override
virtual const char * description() const override
virtual bool apply(EditMap &map) override
virtual const char * description() const override
static Action::Ptr create(unsigned int i, unsigned int level, const sf::Vector2i &pos, core::item::Id item, bool visible, const core::map::Item &orig, bool add)
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
virtual ~AddOrEditItemAction()=default
virtual ~RemoveItemAction()=default
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual bool undo(EditMap &map) override
static Action::Ptr create(unsigned int i, unsigned int level, const sf::Vector2i &pos, const core::map::Item &orig)
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual ~SetLightAction()=default
static Action::Ptr create(const sf::Vector2i &pos, unsigned int radius, const core::map::Light &orig)
virtual ~RemoveLightAction()=default
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual bool apply(EditMap &map) override
static Action::Ptr create(const core::map::Light &orig)
virtual ~AddCatchRegionAction()=default
virtual const char * description() const override
static Action::Ptr create()
virtual bool undo(EditMap &map) override
virtual bool apply(EditMap &map) override
virtual ~EditCatchRegionAction()=default
virtual bool undo(EditMap &map) override
virtual const char * description() const override
virtual bool apply(EditMap &map) override
static Action::Ptr create(std::uint8_t index, const core::map::CatchRegion &value, const core::map::CatchRegion &orig)
virtual ~RemoveCatchRegionAction()=default
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual bool undo(EditMap &map) override
static Action::Ptr create(std::uint8_t index, const core::map::CatchRegion &orig)
virtual bool apply(EditMap &map) override
virtual const char * description() const override
static Action::Ptr create(bool sunlight, std::uint8_t upper, std::uint8_t lower, const core::map::LightingSystem &lighting)
virtual bool undo(EditMap &map) override
virtual ~SetAmbientLightAction()=default
virtual const char * description() const override
static Action::Ptr create()
virtual bool undo(EditMap &map) override
virtual ~AddTownAction()=default
virtual bool apply(EditMap &map) override
static Action::Ptr create(std::uint8_t i, const core::map::Town &orig, const core::map::Town &town)
virtual bool apply(EditMap &map) override
virtual bool undo(EditMap &map) override
virtual ~EditTownAction()=default
virtual const char * description() const override
virtual bool undo(EditMap &map) override
static Action::Ptr create(std::uint8_t i, const core::map::Town &orig)
virtual bool apply(EditMap &map) override
virtual const char * description() const override
virtual ~RemoveTownAction()=default
virtual const char * description() const override
virtual bool apply(EditMap &map) override
static Action::Ptr create(const sf::Vector2i &pos, std::uint8_t id, std::uint8_t orig)
virtual bool undo(EditMap &map) override
virtual ~SetTownTileAction()=default
virtual const char * description() const override
virtual bool undo(EditMap &map) override
virtual bool apply(EditMap &map) override
static Action::Ptr create(const sf::IntRect &area, std::uint8_t id, EditMap &map)
virtual ~SetTownTileAreaAction()=default
virtual bool undo(EditMap &map) override
virtual const char * description() const override
virtual ~FillTownTileAction()=default
virtual bool apply(EditMap &map) override
static Action::Ptr create(const sf::Vector2i &pos, std::uint8_t id, EditMap &map)
static Action::Ptr create(const sf::Vector2i &pos, core::map::LevelTransition lt, core::map::LevelTransition orig)
virtual const char * description() const override
virtual bool apply(EditMap &map) override
virtual ~SetLevelTileAction()=default
virtual bool undo(EditMap &map) override
virtual ~SetLevelTileAreaAction()=default
virtual bool apply(EditMap &map) override
virtual const char * description() const override
static Action::Ptr create(const sf::IntRect &area, core::map::LevelTransition id, EditMap &map)
virtual bool undo(EditMap &map) override