58 lines
1.1 KiB
GDScript
58 lines
1.1 KiB
GDScript
extends Area2D
|
|
|
|
@export_range(10,1000) var value = 10
|
|
@export_range(1,70) var weight = 1
|
|
@onready var interactIcon = $InteractIcon
|
|
|
|
const heavy = 50
|
|
|
|
var player = null
|
|
|
|
func _ready() -> void:
|
|
interactIcon.hide()
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
for i in get_overlapping_areas():
|
|
if i.is_in_group("Player"):
|
|
if isCarryied():
|
|
interactIcon.hide()
|
|
elif not isCarryied():
|
|
interactIcon.show()
|
|
|
|
#if isCarryied():
|
|
#interactIcon.hide()
|
|
#elif not isCarryied():
|
|
#interactIcon.show()
|
|
|
|
if player != null:
|
|
global_position.y = move_toward(global_position.y, player.global_position.y, 3)
|
|
global_position.x = move_toward(global_position.x, player.global_position.x, 3)
|
|
|
|
func pickup(newPlayer):
|
|
z_index = 2
|
|
player = newPlayer
|
|
|
|
func drop():
|
|
global_position.y += 10
|
|
player = null
|
|
z_index = 1
|
|
|
|
func getWeight():
|
|
return weight
|
|
|
|
func getValue():
|
|
return value
|
|
|
|
func isCarryied():
|
|
return player != null
|
|
|
|
|
|
#func _on_area_entered(area: Area2D) -> void:
|
|
#if area.is_in_group("Player"):
|
|
#interactIcon.show()
|
|
#
|
|
#
|
|
#
|
|
func _on_area_exited(area: Area2D) -> void:
|
|
if area.is_in_group("Player"):
|
|
interactIcon.hide()
|