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.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | extends Control | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @onready var animation: AnimationPlayer = $AnimationPlayer as AnimationPlayer | 
					
						
							|  |  |  | @onready var lock: Sprite2D = $Lock as Sprite2D | 
					
						
							|  |  |  | @onready var camera: CameraManager = Global.camera_mgr | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var target: Character | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func _ready(): | 
					
						
							|  |  |  | 	visible = false | 
					
						
							|  |  |  | 	animation.play("rotate") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func _process(delta): | 
					
						
							|  |  |  | 	if target: | 
					
						
							|  |  |  | 		position = camera.get_screen_pos(target.ui_pos_center()) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func on_target_changed(target_id: int): | 
					
						
							|  |  |  | 	target = Global.character_mgr.get_character(target_id) | 
					
						
							|  |  |  | 	visible = target != null | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func on_is_lock_changed(is_lock: bool): | 
					
						
							|  |  |  | 	lock.frame = 0 if is_lock else 1 | 
					
						
							|  |  |  | 	var scale_value: float = 1.0 if is_lock else 1.2 | 
					
						
							|  |  |  | 	lock.scale.x = scale_value | 
					
						
							|  |  |  | 	lock.scale.y = scale_value |