You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
599 B
33 lines
599 B
#pragma once
|
|
#include "events.hpp"
|
|
#include "simplefsm.hpp"
|
|
#include <SFML/Graphics.hpp>
|
|
|
|
namespace routing {
|
|
enum class State {
|
|
START,
|
|
IDLE,
|
|
MOUSE_ACTIVE,
|
|
MOUSE_MOVING,
|
|
};
|
|
|
|
enum class Event {
|
|
STARTED=0,
|
|
MOUSE_DOWN=1,
|
|
MOUSE_UP=2,
|
|
MOUSE_MOVE=3,
|
|
KEY_PRESS=4
|
|
};
|
|
|
|
class Router : public DeadSimpleFSM<State, Event> {
|
|
public:
|
|
void event(Event ev);
|
|
|
|
void START(Event ev);
|
|
void IDLE(Event ev);
|
|
void MOUSE_ACTIVE(Event ev);
|
|
void MOUSE_MOVING(Event ev);
|
|
|
|
void process_window(sf::RenderWindow& window);
|
|
};
|
|
}
|
|
|