mirror of
https://github.com/cyberarm/i-mic-rts.git
synced 2025-12-13 06:52:33 +00:00
21 lines
778 B
Ruby
21 lines
778 B
Ruby
IMICRTS::Order.define_handler(IMICRTS::Order::CONSTRUCTION_COMPLETE, arguments: [:player_id, :entity_id]) do |order, director|
|
|
entity = director.player(order.player_id).entity(order.entity_id)
|
|
|
|
entity.component(:building).data.construction_complete = true
|
|
end
|
|
|
|
IMICRTS::Order.define_serializer(IMICRTS::Order::CONSTRUCTION_COMPLETE) do |order, director|
|
|
# Order ID | Player ID | Entity ID
|
|
# char | char | Integer
|
|
|
|
[IMICRTS::Order::CONSTRUCTION_COMPLETE, order.player_id, order.entity_id].pack("CCN")
|
|
end
|
|
|
|
IMICRTS::Order.define_deserializer(IMICRTS::Order::CONSTRUCTION_COMPLETE) do |string, director|
|
|
# String fed into deserializer has Order ID removed
|
|
# Player ID | Entity ID
|
|
# char | integer
|
|
data = string.unpack("CN")
|
|
[data[0], data[1]]
|
|
end
|