Class: Battle::Logic::EndTurnHandler

Inherits:
Object
  • Object
show all
Includes:
Hooks
Defined in:
scripts/01600 Alpha 25 Battle Engine/00200 Battle_Logic/00001 Handlers/01006 EndTurnHandler.rb

Overview

Handler responsive of calling all the end turn events

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Hooks

#exec_hooks, #force_return, included, register, remove, remove_without_name

Constructor Details

#initialize(logic, scene) ⇒ EndTurnHandler

Create a new end turn handler

Parameters:



9
10
11
12
# File 'scripts/01600 Alpha 25 Battle Engine/00200 Battle_Logic/00001 Handlers/01006 EndTurnHandler.rb', line 9

def initialize(logic, scene)
  @logic = logic
  @scene = scene
end

Class Method Details

.register_end_turn_event(reason) {|logic, scene, battlers| ... }

Register a end turn event

Parameters:

  • reason (String)

    reason of the event

Yield Parameters:



27
28
29
30
31
32
# File 'scripts/01600 Alpha 25 Battle Engine/00200 Battle_Logic/00001 Handlers/01006 EndTurnHandler.rb', line 27

def register_end_turn_event(reason)
  Hooks.register(EndTurnHandler, :end_turn_event, reason) do
    @alive_battlers.reject!(&:dead?)
    yield(@logic, @scene, @alive_battlers)
  end
end

Instance Method Details

#process_events

Function that call all the events (end_turn_event)



15
16
17
18
19
# File 'scripts/01600 Alpha 25 Battle Engine/00200 Battle_Logic/00001 Handlers/01006 EndTurnHandler.rb', line 15

def process_events
  @alive_battlers = @logic.all_alive_battlers.dup
  exec_hooks(EndTurnHandler, :end_turn_event, binding)
  @logic.delete_dead_effects
end