class Rsrb::Item::WeightListener
Attributes
player[R]
Public Class Methods
new(player)
click to toggle source
# File lib/rsrb/model/item.rb, line 162 def initialize(player) @player = player end
Public Instance Methods
items_changed(container)
click to toggle source
# File lib/rsrb/model/item.rb, line 174 def items_changed(container) update_weight end
slot_changed(container, slot)
click to toggle source
# File lib/rsrb/model/item.rb, line 166 def slot_changed(container, slot) update_weight end
slots_changed(container, slots)
click to toggle source
# File lib/rsrb/model/item.rb, line 170 def slots_changed(container, slots) update_weight end
Private Instance Methods
calculate_weight()
click to toggle source
# File lib/rsrb/model/item.rb, line 185 def calculate_weight weight = 0.0 weight += @player.inventory.items.inject(0) {|sum, item| sum + (item ? item.definition.weight : 0) } weight += @player.equipment.items.inject(0) {|sum, item| sum + (item ? item.definition.weight : 0) } weight end
update_weight()
click to toggle source
# File lib/rsrb/model/item.rb, line 180 def update_weight weight = calculate_weight @player.connection.send_data Rsrb::Net::PacketBuilder.new(240).add_short(weight.to_i).to_packet end