You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.0 KiB
37 lines
1.0 KiB
local nodecore |
|
= nodecore |
|
|
|
local LABEL_ROTATION_HINT = "rotation hint" |
|
|
|
local TEX_ROTATE_FACE = "nc_extended_rotating_hud_rotate_face.png" |
|
local TEX_ROTATE_EDGE = "nc_extended_rotating_hud_rotate_edge.png" |
|
|
|
local hud = {} |
|
|
|
local function crosshair_hud_element(texture) |
|
return { |
|
label = LABEL_ROTATION_HINT, |
|
hud_elem_type = "image", |
|
text = texture, |
|
position = { x = 0.5, y = 0.5 }, |
|
offset = { x = 0, y = 0 }, |
|
alignment = { x = 0, y = 0 }, |
|
scale = { x = 1, y = 1 }, |
|
quick = true |
|
} |
|
end |
|
|
|
local function update_player_hud(player, state) |
|
local mode = state and state.mode |
|
if mode == "face" then |
|
local texture = TEX_ROTATE_FACE |
|
if state.invert then texture = texture .. "^[transformFX" end |
|
texture = texture .. "^[opacity:" .. 192 |
|
nodecore.hud_set(player, crosshair_hud_element(texture)) |
|
else |
|
nodecore.hud_set(player, { label = LABEL_ROTATION_HINT, ttl = 0 }) |
|
end |
|
end |
|
hud.update_player_hud = update_player_hud |
|
|
|
return hud
|
|
|