blob: 2ff15a982bbf361ac5a85de8b41cf3216885085a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
extends Control
var TrayItemScene = preload("res://TrayItem.tscn")
var is_open = true
func _ready():
for i in range(5):
add_item()
await get_tree().process_frame
_on_resized()
func add_item():
var tray_item = TrayItemScene.instantiate()
%Items.add_child(tray_item)
func open():
is_open = true
var tween = create_tween()
tween.tween_property(
self,
"global_position",
Vector2(get_viewport_rect().end.x - size.x, position.y),
0.25
)
func close():
is_open = false
var tween = create_tween()
tween.tween_property(
self,
"global_position",
Vector2(get_viewport_rect().end.x, position.y),
0.25
)
func _on_resized():
%Button.global_position = global_position - Vector2(%Button.size.x, 0)
var shape = RectangleShape2D.new()
shape.size = size
$Area2D/CollisionShape2D.shape = shape
$Area2D/CollisionShape2D.position = size / 2
func _on_button_pressed():
if is_open:
close()
else:
open()
|