Sha256: 00f9f2b958a2acedf49878f51b95ea1a08d09e64026f5f6aeb0d2f45d0bc5485
Contents?: true
Size: 1.71 KB
Versions: 5
Compression:
Stored size: 1.71 KB
Contents
# frozen_string_literal: true module Gamefic module Scriptable # Scriptable methods related to creating event callbacks. # module Events # Add a block to be executed on preparation of every turn. # # @example Increment a turn counter # turn = 0 # on_ready do # turn += 1 # end # def on_ready &block rulebook.events.on_ready(&block) end # 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] def on_player_ready &block rulebook.events.on_player_ready(&block) end # Add a block to be executed after the Plot is finished updating a turn. # def on_update &block rulebook.events.on_update(&block) end # Add a block to be executed for each player at the end of a turn. # # @yieldparam [Gamefic::Actor] def on_player_update &block rulebook.events.on_player_update(&block) end def on_conclude &block rulebook.events.on_conclude(&block) end # @yieldparam [Actor] # @return [Proc] def on_player_conclude &block rulebook.events.on_player_conclude(&block) end # @yieldparam [Actor] # @yieldparam [Hash] # @return [Proc] def on_player_output &block rulebook.events.on_player_output(&block) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems