41 lines
1.2 KiB
GDScript
41 lines
1.2 KiB
GDScript
extends CharacterBody2D
|
|
|
|
|
|
const SPEED = 100.0
|
|
const JUMP_VELOCITY = -400.0
|
|
@export var target : Node2D
|
|
|
|
func _ready() -> void:
|
|
UserContext. set_target_for . connect(set_target_for)
|
|
|
|
func set_target_for(who: CurrencyMemberSprite, t: Node2D):
|
|
if %MemberSprite == who:
|
|
if target != null:
|
|
target.tree_exiting.disconnect(removed_target)
|
|
t.tree_exiting.connect(removed_target)
|
|
target = t
|
|
UserContext.modal(null)
|
|
|
|
func removed_target():
|
|
target = null
|
|
|
|
|
|
#func _Direction() -> Vector2:
|
|
#self.position = self.position.move_toward(target.transform.position, speed * delta)
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
if target != null:
|
|
#print(self.global_position.distance_to(target.global_position))
|
|
var num = abs(abs(self.global_position) - abs(target.global_position))
|
|
#print(num)
|
|
var direction = (target.global_position - self.global_position).normalized() * SPEED * delta
|
|
#if (num > Vector2(2,2)):
|
|
if (self.global_position.distance_to(target.global_position) > 0.2):
|
|
self.velocity = direction
|
|
#self.global_position = self.global_position.move_toward(target.global_position, SPEED * delta)
|
|
elif (target.is_class("SentientCurrency")):
|
|
pass
|
|
else:
|
|
pass
|
|
#target = null
|
|
move_and_slide()
|