-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathOrderList.gd
More file actions
91 lines (74 loc) · 1.88 KB
/
OrderList.gd
File metadata and controls
91 lines (74 loc) · 1.88 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
extends Node2D
var list = []
var OrderClass = load("res://Order.tscn")
export var possible_dishes = []
export var time_low = 0
export var time_high = 0
export var interval_low = 0
export var interval_high = 0
export var order_count = 0
signal fourth
var fdone = false
var score = 0
signal level_over(score)
func draw_score():
$Score_Label.text = "SCORE: " + str(score)
var active = 0
func add_score(time_taken):
# Modify scoring appropriately
$AudioStreamPlayer.play()
var base = 100
var multiplier = 10
score += base + time_taken*multiplier
if not fdone:
emit_signal("fourth")
fdone = true
draw_score()
func incorrect_sub_score():
score -= 30
draw_score()
func miss_sub_score():
# score -= 60
draw_score()
func put_in_list(order):
active += 1
for i in range(list.size()):
if list[i] == null:
list[i] = order
return
list.append(order)
func draw_orders():
for i in range(list.size()):
if list[i] == null:
continue
list[i].set_position(Vector2(0,400 + 600*i))
#print(list[i].position)
func done():
if order_count == 0 and active == 0:
emit_signal("level_over",score)
func add_order(pitem = false):
var order = OrderClass.instance()
if pitem:
order.item = pitem
else:
order.item = possible_dishes[randi()%possible_dishes.size()]
order.time = time_low + randi()%(time_high-time_low)
order.connect("correct_order", self, "add_score")
order.connect("incorrect_order", self, "incorrect_sub_score")
order.connect("missed_order", self, "miss_sub_score")
order.connect("active_zero", self, "done")
put_in_list(order)
call_deferred("add_child", order)
draw_orders()
export var tut = false
func _ready():
randomize()
if tut:
add_order("Cake")
order_count -= 1
while order_count > 0:
add_order()
var wait_time = interval_low + randi()%(interval_high - interval_low)
yield(get_tree().create_timer(wait_time),"timeout")
order_count -= 1
done()