class MenuCommands::NewGame

Defined in:

engine/menu_commands/new_game.cr

Constructors

Instance Method Summary

Instance methods inherited from class Command

description : String description, execute(state : State, user_input : String | Nil) : State execute, key : String? key, scene : Scene.class? scene, sub_commands : Array(Command) sub_commands, validate(state : State, user_input : String | Nil) : Bool validate

Constructor methods inherited from class Command

new(key : String, description : String, scene : Scene.class | Nil)
new(key : String, description : String, sub_commands : Array(Command))
new(key : String, description : String, sub_command : Command)
new(description : String, scene : Scene.class | Nil)
new(description : String, sub_commands : Array(Command))
new(description : String, sub_command : Command)
new

Constructor Detail

def self.new(scene : Scene.class) #

[View source]

Instance Method Detail

def execute(state : State, user_input : String | Nil) : State #
Description copied from class Command

Performs extra processing on the user input. This will run for both keyed and keyless commands. Override this to add your custom logic.

When using nested commands, commands are executed in order of selection by the player.

This is one of the most important parts of a command, because it allows us to change state in response to the player's choices in the game.

Example

If we had a skill field on Character we could update it here to give our player more abilities.

def execute(state : State, user_input : String?) : State
  state.character.skill += 1
  return state
end

[View source]