diff --git a/boss/fsm.cpp b/boss/fsm.cpp new file mode 100644 index 0000000..d318c45 --- /dev/null +++ b/boss/fsm.cpp @@ -0,0 +1,11 @@ +#include "boss/fsm.hpp" + +namespace boss { + FSM::FSM() { + } + + void event(Event ev, std::any data={}) { + (void)ev; + (void)data; + } +} diff --git a/boss/fsm.hpp b/boss/fsm.hpp new file mode 100644 index 0000000..b04d4af --- /dev/null +++ b/boss/fsm.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include "simplefsm.hpp" +#include + +namespace boss { + enum class State { + START=0, + END=1 + }; + + enum class Event { + NOP + }; + + class FSM : public DeadSimpleFSM { + FSM(); + + void event(Event ev, std::any data={}); + }; +} diff --git a/meson.build b/meson.build index 0def83f..26c21c1 100644 --- a/meson.build +++ b/meson.build @@ -86,6 +86,7 @@ sources = [ 'autowalker.cpp', 'backend.cpp', 'battle.cpp', + 'boss/fsm.cpp', 'boss/system.cpp', 'boss/ui.cpp', 'combat.cpp',