29 lines
762 B
GDScript
29 lines
762 B
GDScript
class_name WeaponUI
|
|
extends Control
|
|
|
|
const DIFF = 25
|
|
const TIME = 0.2
|
|
|
|
var active_weapon := 0:
|
|
set(v):
|
|
if v == active_weapon: return
|
|
|
|
get_child(active_weapon).create_tween() \
|
|
.set_trans(Tween.TRANS_QUAD) \
|
|
.set_ease(Tween.EASE_OUT) \
|
|
.tween_property(get_child(active_weapon), "position", initial_positions[active_weapon], TIME)
|
|
|
|
active_weapon = v
|
|
|
|
get_child(v).create_tween() \
|
|
.set_trans(Tween.TRANS_QUAD) \
|
|
.set_ease(Tween.EASE_OUT) \
|
|
.tween_property(get_child(v), "position", initial_positions[v] + Vector2.UP * DIFF, TIME)
|
|
var initial_positions: PackedVector2Array
|
|
|
|
func _ready() -> void:
|
|
for child in get_children():
|
|
initial_positions.push_back(child.position)
|
|
|
|
get_child(active_weapon).position += Vector2.UP * DIFF
|
|
|