added on_order handler to entities and components, added visibility map

This commit is contained in:
2021-01-15 17:41:06 -06:00
parent e30d73d4d7
commit 19c5fc8d73
22 changed files with 164 additions and 51 deletions

View File

@@ -1,12 +1,7 @@
IMICRTS::Order.define_handler(IMICRTS::Order::BUILD_UNIT_COMPLETE, arguments: [:player_id, :entity_id]) do |order, director|
entity = director.player(order.player_id).entity(order.entity_id)
item = entity.component(:build_queue).queue.shift
spawn_point = entity.position.clone
spawn_point.y += 96 # TODO: Use entity defined spawnpoint
ent = entity.director.spawn_entity(player_id: entity.player.id, name: item.entity.name, position: spawn_point)
ent.target = entity.component(:waypoint).waypoint if entity.component(:waypoint)
entity.handle_order(IMICRTS::Order::BUILD_UNIT_COMPLETE, order)
end
IMICRTS::Order.define_serializer(IMICRTS::Order::BUILD_UNIT_COMPLETE) do |order, director|

View File

@@ -1,7 +1,7 @@
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(:structure).data.construction_complete = true
entity.handle_order(IMICRTS::Order::CONSTRUCTION_COMPLETE, order)
end
IMICRTS::Order.define_serializer(IMICRTS::Order::CONSTRUCTION_COMPLETE) do |order, director|

View File

@@ -1,6 +1,6 @@
IMICRTS::Order.define_handler(IMICRTS::Order::MOVE, arguments: [:player_id, :vector]) do |order, director|
director.player(order.player_id).selected_entities.each do |entity|
entity.target = order.vector
entity.handle_order(IMICRTS::Order::MOVE, order)
end
end

View File

@@ -1,6 +1,6 @@
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
entity.handle_order(IMICRTS::Order::STOP, order)
end
end