|
|
|
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
|