#pragma once #include "simplefsm.hpp" #include "dinkyecs.hpp" #include "boss/ui.hpp" #include "gui/fsm_events.hpp" #include #include namespace boss { using std::shared_ptr; enum class State { START=0, END=1 }; class Fight : public DeadSimpleFSM { public: shared_ptr $world = nullptr; DinkyECS::Entity $boss_id = NONE; boss::UI $ui; sf::Vector2f mouse_pos{0,0}; Fight(shared_ptr world, DinkyECS::Entity boss_id); bool event(gui::Event ev, std::any data); void START(gui::Event ev, std::any data); void END(gui::Event ev, std::any data); void render(sf::RenderWindow& window) { $ui.render(window); } }; }