Building units now uses orders 😃

This commit is contained in:
2021-01-01 14:25:44 -06:00
parent 74458dbfd0
commit 5f301337b4
35 changed files with 171 additions and 100 deletions

View File

@@ -1,9 +1,9 @@
IMICRTS::Entity.define_entity(:construction_worker, :unit, 1000, "Constructs buildings") do |entity|
IMICRTS::Entity.define_entity(:construction_worker, :unit, 1000, 75, "Constructs buildings") do |entity|
entity.has(:movement)
entity.has(:build_queue)
entity.has(:sidebar_actions)
[:power_plant, :refinery, :barracks, :war_factory, :helipad, :construction_yard].each do |ent|
entity.component(:sidebar_actions).add(:set_tool, {tool: :place_entity, entity: ent, construction_worker: entity})
entity.component(:sidebar_actions).add(:set_tool, { tool: :place_entity, entity: ent, construction_worker: entity })
end
entity.radius = 14

View File

@@ -1,4 +1,4 @@
IMICRTS::Entity.define_entity(:harvester, :unit, 1400, "Harvests ore") do |entity, director|
IMICRTS::Entity.define_entity(:harvester, :unit, 1400, 140, "Harvests ore") do |entity, director|
entity.has(:movement)
entity.radius = 10

View File

@@ -1,6 +1,7 @@
IMICRTS::Entity.define_entity(:helicopter, :unit, 400, "Attacks ground targets") do |entity|
IMICRTS::Entity.define_entity(:helicopter, :unit, 400, 40, "Attacks ground targets") do |entity|
entity.has(:movement)
entity.speed = 2.5
entity.radius = 14
entity.movement = :air
entity.max_health = 100.0

View File

@@ -1,7 +1,8 @@
IMICRTS::Entity.define_entity(:jeep, :unit, 400, "Attacks ground targets") do |entity|
IMICRTS::Entity.define_entity(:jeep, :unit, 400, 40, "Attacks ground targets") do |entity|
entity.has(:movement)
entity.has(:turret)
entity.speed = 1.5
entity.radius = 14
entity.movement = :ground
entity.max_health = 100.0
@@ -14,4 +15,8 @@ IMICRTS::Entity.define_entity(:jeep, :unit, 400, "Attacks ground targets") do |e
entity.on_tick do
end
entity.component(:movement).define_singleton_method(:rotate_towards) do |target|
entity.angle = Gosu.angle(target.x, target.y, entity.position.x, entity.position.y)
end
end

View File

@@ -1,4 +1,4 @@
IMICRTS::Entity.define_entity(:tank, :unit, 800, "Attacks ground targets") do |entity|
IMICRTS::Entity.define_entity(:tank, :unit, 800, 80, "Attacks ground targets") do |entity|
entity.has(:movement)
entity.has(:turret)