road-rage-tank/player/weapon_ui.gd

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