Class: Ika3::Weapon
- Inherits:
-
Object
- Object
- Ika3::Weapon
- Defined in:
- lib/ika3/weapons.rb
Class Method Summary collapse
- .filter_by_special(special_name) ⇒ Object
- .filter_by_sub(sub_name) ⇒ Object
- .find(weapon_key) ⇒ Object
- .find_by_name(weapon_name) ⇒ Object
- .reload_config! ⇒ Object
Class Method Details
.filter_by_special(special_name) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/ika3/weapons.rb', line 44 def filter_by_special(special_name) raise "unknown special weapon: #{special_name}" unless special_weapons.values.include?(special_name) weapons = config.values.filter { |weapon| weapon[:special] == special_name } weapons.map { |weapon| W.new(weapon) } end |
.filter_by_sub(sub_name) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/ika3/weapons.rb', line 37 def filter_by_sub(sub_name) raise "unknown sub weapon: #{sub_name}" unless sub_weapons.values.include?(sub_name) weapons = config.values.filter { |weapon| weapon[:sub] == sub_name } weapons.map { |weapon| W.new(weapon) } end |
.find(weapon_key) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/ika3/weapons.rb', line 18 def find(weapon_key) raise "unknown weapon: #{weapon_key}" unless valid?(weapon_key) @cache ||= {} unless @cache[weapon_key] weapon_config = config[weapon_key] || {} @cache[weapon_key] = weapon_config end W.new(@cache[weapon_key]) end |
.find_by_name(weapon_name) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/ika3/weapons.rb', line 30 def find_by_name(weapon_name) raise "unknown weapon: #{weapon_name}" unless weapons.values.include?(weapon_name) key = weapons.key(weapon_name) find(key) end |
.reload_config! ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/ika3/weapons.rb', line 51 def reload_config! @cache = {} @config = nil @sub_weapons = nil config config_sub_weapons config_special_weapons end |