You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
824 B
GDScript
29 lines
824 B
GDScript
|
2 years ago
|
extends Control
|
||
|
|
class_name LockItem
|
||
|
|
|
||
|
|
@onready var animation = $AnimationPlayer as AnimationPlayer
|
||
|
|
@onready var camera: CameraManager = Global.camera_mgr
|
||
|
|
|
||
|
|
var target_id : int
|
||
|
|
|
||
|
|
func _ready():
|
||
|
|
SignalManager.character_ui_pos_changed.connect(on_character_ui_pos_changed)
|
||
|
2 years ago
|
SignalManager.character_target_changed.connect(on_character_target_changed)
|
||
|
2 years ago
|
animation.play("rotate")
|
||
|
|
|
||
|
|
func on_character_ui_pos_changed(id:int,pos:Vector3):
|
||
|
|
if id != target_id:
|
||
|
|
return
|
||
|
|
position = camera.get_screen_pos(pos)
|
||
|
2 years ago
|
|
||
|
|
func on_character_target_changed(id:int,target:int):
|
||
|
|
if id != Global.character_mgr.get_player_id():
|
||
|
|
return
|
||
|
|
var character_target = Global.character_mgr.get_character(target)
|
||
|
|
target_id = target
|
||
|
|
if not character_target:
|
||
|
|
visible = false
|
||
|
|
return
|
||
|
|
visible = true
|
||
|
|
position = camera.get_screen_pos(character_target.ui_pos())
|