More map work and missed points
This commit is contained in:
55
scripts/map_point.gd
Normal file
55
scripts/map_point.gd
Normal file
@@ -0,0 +1,55 @@
|
||||
@tool
|
||||
extends TextureButton
|
||||
|
||||
|
||||
@onready var panel : PanelContainer = $Panel
|
||||
@onready var anim_player : AnimationPlayer = $AnimationPlayer
|
||||
var panel_shown : bool = false
|
||||
@export var primed : bool = false
|
||||
var locked : bool = true
|
||||
var mat : ShaderMaterial
|
||||
var _circle_size : float = 0
|
||||
@export var circle_size: float:
|
||||
get(): return _circle_size
|
||||
set(value):
|
||||
_circle_size = value
|
||||
queue_redraw()
|
||||
@export var add_color : Color
|
||||
@export var threshold : float
|
||||
@export var thickness : float = 5
|
||||
@export var max_circle_size : float = 200
|
||||
|
||||
func _ready() -> void:
|
||||
mat = %CanvasGroup.material
|
||||
if primed:
|
||||
anim_player.play("primed")
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
mat.set_shader_parameter("add_color", add_color)
|
||||
mat.set_shader_parameter("threshold", threshold)
|
||||
|
||||
func unlock() -> void:
|
||||
locked = false
|
||||
primed = false
|
||||
anim_player.play("unlock")
|
||||
$AudioStreamPlayer2D.play()
|
||||
|
||||
func _on_mouse_entered() -> void:
|
||||
if !panel_shown:
|
||||
panel.visible = true
|
||||
panel_shown = true
|
||||
pass # Replace with function body.
|
||||
|
||||
func _buttonn_pressed() -> void:
|
||||
if primed:
|
||||
unlock()
|
||||
|
||||
func _on_mouse_exited() -> void:
|
||||
if panel_shown:
|
||||
panel.visible = false
|
||||
panel_shown = false
|
||||
pass # Replace with function body.
|
||||
|
||||
func _draw() -> void:
|
||||
if _circle_size != 0:
|
||||
draw_circle(global_position, _circle_size, add_color, false, thickness * (max_circle_size - _circle_size) / max_circle_size)
|
||||
1
scripts/map_point.gd.uid
Normal file
1
scripts/map_point.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://beikt7qpne2rk
|
||||
Reference in New Issue
Block a user