module Gamefic::Scriptable::Events
Scriptable
methods related to creating event callbacks.
Public Instance Methods
on_conclude(&block)
click to toggle source
# File lib/gamefic/scriptable/events.rb, line 53 def on_conclude &block rulebook.events.on_conclude(Callback.new(self, block)) end
on_player_conclude(&block)
click to toggle source
@yieldparam [Actor] @return [Proc]
# File lib/gamefic/scriptable/events.rb, line 59 def on_player_conclude &block rulebook.events.on_player_conclude(Callback.new(self, block)) end
on_player_output(&block)
click to toggle source
@yieldparam [Actor] @yieldparam [Hash] @return [Proc]
# File lib/gamefic/scriptable/events.rb, line 66 def on_player_output &block rulebook.events.on_player_output Callback.new(self, block) end
on_player_ready(&block)
click to toggle source
Add a block to be executed for each player at the beginning of a turn.
@example Tell the player how many turns they’ve played.
on_player_ready do |player| player[:turns] ||= 1 player.tell "Turn #{player[:turns]}" player[:turns] += 1 end
@yieldparam [Gamefic::Actor]
# File lib/gamefic/scriptable/events.rb, line 30 def on_player_ready &block wrapper = proc do players.each { |player| Stage.run(self, player, &block) } end on_ready &wrapper end
on_player_update(&block)
click to toggle source
Add a block to be executed for each player at the end of a turn.
@yieldparam [Gamefic::Actor]
# File lib/gamefic/scriptable/events.rb, line 46 def on_player_update &block wrapper = proc do players.each { |player| Stage.run(self, player, &block) } end on_update &wrapper end
on_ready(&block)
click to toggle source
Add a block to be executed on preparation of every turn.
@example Increment a turn counter
turn = 0 on_ready do turn += 1 end
# File lib/gamefic/scriptable/events.rb, line 16 def on_ready &block rulebook.events.on_ready(Callback.new(self, block)) end
on_update(&block)
click to toggle source
Add a block to be executed after the Plot
is finished updating a turn.
# File lib/gamefic/scriptable/events.rb, line 39 def on_update &block rulebook.events.on_update(Callback.new(self, block)) end