Reimplement wave AI, split out some UI code into a ui module, update TODO

This commit is contained in:
2022-05-10 05:28:01 +02:00
parent 2f63695ee9
commit 75debe1905
15 changed files with 588 additions and 248 deletions

View File

@@ -22,21 +22,24 @@ public class SetStageCommand implements CommandExecutor {
GameRunner runner = m_plugin.getRunnerForWorld(world);
String stateName = args[0].toLowerCase();
boolean ret = false;
if (stateName.equals("idle")) {
ret = runner.requestTransition(GameRunner.Stage.Idle);
} else if (stateName.equals("warmup")) {
ret = runner.requestTransition(GameRunner.Stage.Warmup);
} else if (stateName.equals("playing")) {
ret = runner.requestTransition(GameRunner.Stage.Playing);
} else if (stateName.equals("gameover")) {
ret = runner.requestTransition(GameRunner.Stage.GameOver);
GameRunner.Stage decodedStage = null;
GameRunner.Stage stages[] = GameRunner.Stage.Idle.getDeclaringClass().getEnumConstants();
for(GameRunner.Stage stage : stages) {
if (stage.toString().toLowerCase().equals(stateName)) {
decodedStage = stage;
break;
}
}
if (decodedStage != null) {
sender.sendMessage("Requesting transition to " + decodedStage);
if (!runner.requestTransition(decodedStage)) {
sender.sendMessage("Could not transition to " + decodedStage);
return false;
}
return true;
} else {
sender.sendMessage("Unknown state " + stateName);
return false;
}
if (!ret) {
sender.sendMessage("Could not set state to " + stateName);
}
return ret;
}
}