Game engine now handles damage types but Ineed to refine the state machines so some of them can take additional data.
This commit is contained in:
parent
9e6c05eccd
commit
4b2ed2951e
3 changed files with 35 additions and 17 deletions
|
@ -61,21 +61,24 @@ void GameEngine::idle(GameEvent ev) {
|
|||
}
|
||||
}
|
||||
|
||||
void GameEngine::in_round(GameEvent ev) {
|
||||
if(ev == GameEvent::HIT) {
|
||||
string er_type = "error";
|
||||
hit(er_type); // FIXME: bring back error type
|
||||
if(is_dead()) {
|
||||
state(GameState::DEAD);
|
||||
} else {
|
||||
void GameEngine::in_round(GameEvent ev, string &hit_type) {
|
||||
switch(ev) {
|
||||
case GameEvent::HIT:
|
||||
hit(hit_type); // FIXME: bring back error type
|
||||
if(is_dead()) {
|
||||
state(GameState::DEAD);
|
||||
} else {
|
||||
state(GameState::IN_ROUND);
|
||||
}
|
||||
break;
|
||||
case GameEvent::BUILD_SUCCESS:
|
||||
state(GameState::SUCCESS);
|
||||
break;
|
||||
case GameEvent::BUILD_FAILED:
|
||||
state(GameState::FAILURE);
|
||||
break;
|
||||
default:
|
||||
state(GameState::IN_ROUND);
|
||||
}
|
||||
} else if(ev == GameEvent::BUILD_SUCCESS) {
|
||||
state(GameState::SUCCESS);
|
||||
} else if(ev == GameEvent::BUILD_FAILED) {
|
||||
state(GameState::FAILURE);
|
||||
} else {
|
||||
state(GameState::IN_ROUND);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue