wave-survival/modules/wave_survival/state.h

27 lines
572 B
C++

#ifndef STATE_H
#define STATE_H
#include "core/object/class_db.h"
#include "core/object/object.h"
class StateMachine;
class Node;
class State : public Object {
GDCLASS(State, Object);
static void _bind_methods();
public:
virtual void set_target(Node *target) {}
virtual void enter_state() {}
virtual void exit_state() {}
virtual void process(double delta) {}
virtual String get_next_state() const;
void set_state_machine(StateMachine *machine);
StateMachine *get_state_machine() const;
private:
StateMachine *state_machine{ nullptr };
};
#endif // !STATE_H