added vertical indicators to minimap
This commit is contained in:
@@ -48,7 +48,6 @@ func update_timer(label):
|
||||
SignalBus.emit_signal("ui_timer_update",label,rounded_timer)
|
||||
|
||||
func check_killed_target(enemy):
|
||||
print("ENEMY KILLED : ",enemy)
|
||||
if enemy == target_enemy:
|
||||
timer = time_to_kill
|
||||
target_enemy = null
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
extends Control
|
||||
|
||||
@export var hud : Node
|
||||
|
||||
@export var redraw_time : float = 1.0
|
||||
@export var show_vertical_difference : bool = true
|
||||
|
||||
## SETTINGS
|
||||
const MINIMAP_POINT_RADIUS :float = 10.0
|
||||
@@ -9,7 +10,9 @@ const MINIMAP_DISPLAY_RADIUS : float = 200.0
|
||||
const MINIMAP_MAX_OPACITY : float = .75
|
||||
const ERASE_BUFFER_TIME = -10.0
|
||||
const MAX_PRIORITY_SIZE = 4
|
||||
const MAX_VERTICAL_TICK_LENGTH = 20
|
||||
|
||||
var redraw_timer = redraw_time
|
||||
var draw_delta_time
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
@@ -31,6 +34,8 @@ func update_minimap():
|
||||
var player_pos_h = Vector2(player.global_position.x,player.global_position.z)
|
||||
var point_pos_h = Vector2(point["position"].x,point["position"].z)
|
||||
var h_direction = player.global_transform.looking_at(point["position"],Vector3.UP).basis.get_euler().y
|
||||
var v_direction = player.global_position.y - point["position"].y
|
||||
|
||||
|
||||
var alpha_fade = clamp(MINIMAP_MAX_OPACITY * clamp(point["timer"],0,1),0,MINIMAP_MAX_OPACITY)
|
||||
var color_modified = Color(point["color"].r,point["color"].g,point["color"].b,alpha_fade)
|
||||
@@ -42,8 +47,18 @@ func update_minimap():
|
||||
var point_pos = Vector2(x,y)
|
||||
|
||||
var priority_clamped = clamp(point["priority"],1,MAX_PRIORITY_SIZE)
|
||||
var v_indicator_clamped = Vector2(0,clamp(v_direction * 5,-MAX_VERTICAL_TICK_LENGTH * priority_clamped,MAX_VERTICAL_TICK_LENGTH * priority_clamped))
|
||||
var line_offset_dir
|
||||
if v_indicator_clamped.y > 0:
|
||||
line_offset_dir = 1
|
||||
else:
|
||||
line_offset_dir = -1
|
||||
|
||||
draw_circle(point_pos,MINIMAP_POINT_RADIUS * priority_clamped,color_modified,true)
|
||||
var line_offset = Vector2(0,line_offset_dir * MINIMAP_POINT_RADIUS * priority_clamped)
|
||||
if show_vertical_difference:
|
||||
draw_line(point_pos + line_offset,point_pos + v_indicator_clamped,color_modified,4)
|
||||
|
||||
else:
|
||||
if point["timer"] > ERASE_BUFFER_TIME:
|
||||
point["timer"] -= draw_delta_time
|
||||
|
||||
Reference in New Issue
Block a user