Orders are now de/serializable, and scheduleable, Entities now show a circle around themselves when selected and draw a line to their target

This commit is contained in:
2019-10-09 11:32:59 -05:00
parent 2a179ed935
commit d6615872ba
15 changed files with 246 additions and 33 deletions

19
lib/orders/stop.rb Normal file
View File

@@ -0,0 +1,19 @@
IMICRTS::Order.define_handler(IMICRTS::Order::STOP, arguments: [:player_id]) do |order, director|
director.player(order.player_id).selected_entities.each do |entity|
entity.target = nil
end
end
IMICRTS::Order.define_serializer(IMICRTS::Order::STOP) do |order, director|
# Order ID | Player ID
# char | char
[IMICRTS::Order::STOP, order.player_id].pack("CC")
end
IMICRTS::Order.define_deserializer(IMICRTS::Order::STOP) do |string, director|
# String fed into deserializer has Order ID removed
# Player ID
# char
string.unpack("C")
end