Class: MissionStrategy::JobTypeStrategy::JobTypeBattleStrategy

Inherits:
Object
  • Object
show all
Defined in:
app/models/mission_strategy.rb

Overview

This class describes a battle strategy of job type.

Defined Under Namespace

Classes: BattleMethod

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (JobTypeBattleStrategy) initialize(symbol)

Initialize this class.

Parameters:

  • symbol (String)


28
29
30
31
# File 'app/models/mission_strategy.rb', line 28

def initialize(symbol)
  @job_type_battle_symbol = symbol
  @battle_methods = Array.new
end

Instance Attribute Details

- (Object) battle_methods

Returns the value of attribute battle_methods



21
22
23
# File 'app/models/mission_strategy.rb', line 21

def battle_methods
  @battle_methods
end

- (Object) job_type_battle_symbol

Returns the value of attribute job_type_battle_symbol



20
21
22
# File 'app/models/mission_strategy.rb', line 20

def job_type_battle_symbol
  @job_type_battle_symbol
end

Instance Method Details

- (Array) methods

Return all the battle methods.

Returns:

  • (Array)

    battle methods.



49
50
51
# File 'app/models/mission_strategy.rb', line 49

def methods
  return @battle_methods
end

- (Array) methods_by_priority(priority)

Return battle methods selected by priority.

Returns:

  • (Array)

    battle methods.



55
56
57
58
59
60
61
# File 'app/models/mission_strategy.rb', line 55

def methods_by_priority(priority)
  sorted_methods = Array.new
  @battle_methods.each do |battle_method|
    sorted_methods << battle_method if battle_method.priority = priority
  end
  return sorted_methods
end

- (Object) skill(symbol, priority)

Set battle method as skill.

Parameters:

  • symbol (String)
  • priority (Integer)


43
44
45
# File 'app/models/mission_strategy.rb', line 43

def skill(symbol, priority)
  @battle_methods << BattleMethod.new(:skill, symbol, nil, priority)
end

- (Object) weapon(symbol, priority)

Set battle method as weapon.

Parameters:

  • symbol (String)
  • priority (Integer)


36
37
38
# File 'app/models/mission_strategy.rb', line 36

def weapon(symbol, priority)
  @battle_methods << BattleMethod.new(:weapon, symbol, nil, priority)
end