mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 07:32:35 +00:00
40 lines
1.2 KiB
Ruby
40 lines
1.2 KiB
Ruby
class IMICFPS
|
|
class HUD
|
|
class RadarWidget < HUD::Widget
|
|
def setup
|
|
@size = 288
|
|
@border_color = Gosu::Color.new(0x88c64600)
|
|
@radar_color = Gosu::Color.new(0x88212121)
|
|
|
|
@text = Text.new("RADAR", size: 18, mode: :add, font: MONOSPACE_FONT)
|
|
@image = Gosu::Image.new("#{CYBERARM_ENGINE_ROOT_PATH}/assets/textures/default.png", retro: true)
|
|
@scale = (@size - @padding * 2.0) / @image.width
|
|
end
|
|
|
|
def draw
|
|
Gosu.draw_rect(
|
|
@margin, window.height - (@size + @margin),
|
|
@size, @size,
|
|
@border_color
|
|
)
|
|
|
|
Gosu.draw_rect(
|
|
@margin + @padding, window.height - (@size + @margin) + @padding,
|
|
@size - @padding * 2, @size - @padding * 2,
|
|
@radar_color
|
|
)
|
|
|
|
@image.draw(@margin + @padding, window.height - (@size + @margin) + @padding, 46, @scale, @scale, 0x88ffffff)
|
|
|
|
@text.draw
|
|
end
|
|
|
|
def update
|
|
@text.text = "RADAR: X #{@player.position.x.round(1)} Y #{@player.position.y.round(1)} Z #{@player.position.z.round(1)}"
|
|
@text.x = @margin + @size / 2 - @text.width / 2
|
|
@text.y = window.height - (@margin + @size + @text.height)
|
|
end
|
|
end
|
|
end
|
|
end
|