diff --git a/assets/buildings/helipad/helipad_overlay.png b/assets/buildings/helipad/helipad_overlay.png index 29284e9..efe89cc 100644 Binary files a/assets/buildings/helipad/helipad_overlay.png and b/assets/buildings/helipad/helipad_overlay.png differ diff --git a/assets/buildings/helipad/helipad_shell.png b/assets/buildings/helipad/helipad_shell.png index f153775..77bc0af 100644 Binary files a/assets/buildings/helipad/helipad_shell.png and b/assets/buildings/helipad/helipad_shell.png differ diff --git a/assets/svg/buildings/helipad.svg b/assets/svg/buildings/helipad.svg index 958979f..ae7b8d2 100644 --- a/assets/svg/buildings/helipad.svg +++ b/assets/svg/buildings/helipad.svg @@ -16,7 +16,7 @@ id="svg134" sodipodi:docname="helipad.svg" inkscape:version="0.92.4 5da689c313, 2019-01-14" - inkscape:export-filename="/home/cyberarm/Code/i-mic-rts/assets/buildings/helipad/helipad_overlay.png" + inkscape:export-filename="/home/cyberarm/Code/i-mic-rts/assets/buildings/helipad/helipad_shell.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"> + inkscape:window-maximized="1"> + + @@ -83,7 +88,7 @@ image/svg+xml - + @@ -94,53 +99,56 @@ transform="translate(0,-271.60001)"> - - - - - + + + + + + + diff --git a/lib/entities/buildings/barracks.rb b/lib/entities/buildings/barracks.rb new file mode 100644 index 0000000..240bbb6 --- /dev/null +++ b/lib/entities/buildings/barracks.rb @@ -0,0 +1,9 @@ +IMICRTS::Entity.define_entity(:barracks, :building, 400, "Builds and soldiers") do |entity| + entity.radius = 44 + entity.max_health = 100.0 + + entity.shell_image = "buildings/barracks/barracks.png" + + entity.on_tick do + end +end diff --git a/lib/entities/buildings/helipad.rb b/lib/entities/buildings/helipad.rb new file mode 100644 index 0000000..0f75e8d --- /dev/null +++ b/lib/entities/buildings/helipad.rb @@ -0,0 +1,10 @@ +IMICRTS::Entity.define_entity(:helipad, :building, 1_000, "Builds and rearms helicopters") do |entity| + entity.radius = 26 + entity.max_health = 100.0 + + entity.shell_image = "buildings/helipad/helipad_shell.png" + entity.overlay_image = "buildings/helipad/helipad_overlay.png" + + entity.on_tick do + end +end diff --git a/lib/entity.rb b/lib/entity.rb index 8451578..8bf471e 100644 --- a/lib/entity.rb +++ b/lib/entity.rb @@ -46,6 +46,7 @@ class IMICRTS raise "Failed to find entity #{name.inspect} definition" end + @boid_radius = @radius + 8 component(:turret).angle = @angle if component(:turret) @goal_color = Gosu::Color.argb(175, 25, 200, 25) @@ -149,6 +150,7 @@ class IMICRTS def draw_radius Gosu.draw_circle(@position.x, @position.y, @radius, ZOrder::ENTITY_RADIUS, @player.color, 360 / 18) + Gosu.draw_circle(@position.x, @position.y, @boid_radius, ZOrder::ENTITY_RADIUS, @player.color, 360 / 18) end def draw_gizmos diff --git a/lib/states/closing.rb b/lib/states/closing.rb index 7217091..7842f1c 100644 --- a/lib/states/closing.rb +++ b/lib/states/closing.rb @@ -1,6 +1,7 @@ class IMICRTS class Closing < CyberarmEngine::GuiState def setup + window.show_cursor = false @logo = Gosu::Image.new("#{ASSETS_PATH}/logo.png") @color = Gosu::Color.new(0xffffffff) diff --git a/lib/states/game.rb b/lib/states/game.rb index 685ef02..48e1e9e 100644 --- a/lib/states/game.rb +++ b/lib/states/game.rb @@ -107,6 +107,22 @@ class IMICRTS position: CyberarmEngine::Vector.new(spawnpoint.x + 130, spawnpoint.y - 64, ZOrder::BUILDING), angle: 0 ) + @player.entities << Entity.new( + name: :helipad, + director: @director, + player: @player, + id: @player.next_entity_id, + position: CyberarmEngine::Vector.new(spawnpoint.x - 32, spawnpoint.y - 96, ZOrder::BUILDING), + angle: 0 + ) + @player.entities << Entity.new( + name: :barracks, + director: @director, + player: @player, + id: @player.next_entity_id, + position: CyberarmEngine::Vector.new(spawnpoint.x - 32, spawnpoint.y + 128, ZOrder::BUILDING), + angle: 0 + ) end def draw