mirror of
https://github.com/cyberarm/i-mic-rts.git
synced 2025-12-13 14:52:35 +00:00
Give Connection some use, added magic comment to i-mic-rts.rb
This commit is contained in:
2
i-mic-rts.rb
Normal file → Executable file
2
i-mic-rts.rb
Normal file → Executable file
@@ -1,3 +1,5 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
begin
|
begin
|
||||||
require_relative "../cyberarm_engine/lib/cyberarm_engine"
|
require_relative "../cyberarm_engine/lib/cyberarm_engine"
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
|
|||||||
@@ -1,9 +1,23 @@
|
|||||||
class IMICRTS
|
class IMICRTS
|
||||||
class Connection
|
class Connection
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
|
@pending_orders = []
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_order(order)
|
||||||
|
@pending_orders.push(order)
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
|
data = @pending_orders.sort_by { |order| order.tick_id }.map do |order|
|
||||||
|
|
||||||
|
# Order serialized size in bytes + serialized order data
|
||||||
|
[order.serialized_order.length].pack("n") + order.serialized_order
|
||||||
|
end.join
|
||||||
|
|
||||||
|
# p data if data.length > 0
|
||||||
|
|
||||||
|
@pending_orders.clear
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -61,7 +61,9 @@ class IMICRTS
|
|||||||
if order = Order.get(order_id)
|
if order = Order.get(order_id)
|
||||||
struct = order.struct(args)
|
struct = order.struct(args)
|
||||||
|
|
||||||
player(struct.player_id).orders.push(Player::ScheduledOrder.new( order_id, @current_tick + 1, order.serialize(struct, self) ))
|
scheduled_order = Player::ScheduledOrder.new( order_id, @current_tick + 1, order.serialize(struct, self) )
|
||||||
|
@connection.add_order(scheduled_order)
|
||||||
|
player(struct.player_id).orders.push(scheduled_order)
|
||||||
else
|
else
|
||||||
raise "Undefined order: #{Order.order_name(order_id)}"
|
raise "Undefined order: #{Order.order_name(order_id)}"
|
||||||
end
|
end
|
||||||
@@ -73,7 +75,9 @@ class IMICRTS
|
|||||||
|
|
||||||
pp Order.order_name(order_id)
|
pp Order.order_name(order_id)
|
||||||
|
|
||||||
player(struct.player_id).orders.push(Player::ScheduledOrder.new( order_id, @current_tick + 2, order.serialize(struct, self) ))
|
scheduled_order = Player::ScheduledOrder.new( order_id, @current_tick + 2, order.serialize(struct, self) )
|
||||||
|
@connection.add_order(scheduled_order)
|
||||||
|
player(struct.player_id).orders.push(scheduled_order)
|
||||||
else
|
else
|
||||||
raise "Undefined order: #{Order.order_name(order_id)}"
|
raise "Undefined order: #{Order.order_name(order_id)}"
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user