Files
i-mic-rts/lib/entities/buildings/refinery.rb

39 lines
1008 B
Ruby

tiles = [
[false, false, false, false, false],
[false, true, true, false, false],
[false, true, true, true, false],
[false, true, true, true, false],
[false, false, :path, :path, false],
]
IMICRTS::Entity.define_entity(:refinery, :building, 1_400, 200, "Generates credits", tiles) do |entity|
unless entity.proto_entity
entity.has(:building)
end
entity.radius = 44
entity.max_health = 100.0
entity.body_image = "buildings/refinery/refinery.png"
entity.shell_image = "buildings/refinery/refinery_shell.png"
entity.overlay_image = "buildings/refinery/refinery_overlay.png"
position = entity.position.clone
position.z = IMICRTS::ZOrder::OVERLAY
p1 = position.clone
p1.x += 2
p1.y += 12
entity.particle_emitters << IMICRTS::SmokeEmitter.new(position: p1, emitting: false)
entity.on_tick do
if entity.component(:building).data.state == :idle
entity.particle_emitters.each do |emitter|
emitter.emitting = true
end
end
end
end