root/ui/set_activity.gd

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
extends HBoxContainer

const ActivityButton = preload("res://ui/activity_button.tscn")
const activities = ["food", "house", "sleep"]

signal activity_set
signal closed

func _ready():
	self.visible = false
	var _e = $right_buttons/close_button.connect("pressed", self, "close")

func open_with(time_frame):
	if self.visible:
		self.close()
		return
	$VBoxContainer/time_label.text = "%02d:00 - %02d:00" % [time_frame.start_hour,time_frame.end_hour]
	var container = $VBoxContainer/activities_scroll/activities
	for a in activities:
		var button = ActivityButton.instance()
		button.set_activity(a)
		button.pressed = time_frame.activity == a
		button.connect("pressed", self, "on_activity_set", [a])
		container.add_child(button)
	self.visible = true

func on_activity_set(a):
	emit_signal("activity_set", a)
	close()
	
func close():
	self.visible = false
	var container = $VBoxContainer/activities_scroll/activities
	for c in container.get_children():
		container.remove_child(c)
	emit_signal("closed")