-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpercent_slide.gd
119 lines (96 loc) · 2.84 KB
/
percent_slide.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
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
extends CanvasLayer
onready var slideIdiots = get_node("PERCENT_IDIOTS")
onready var slideInfected = get_node("PERCENT_INFECTED")
onready var slideVaxxed = get_node("PERCENT_VAXXED")
onready var lblIdiots = get_node("lbl_idiots")
onready var lblInfected = get_node("lbl_infected")
onready var lblVaxxed = get_node("lbl_vaxxed")
var doNotPropagate = 0
# Called when the node enters the scene tree for the first time.
func _ready():
pass
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass
func _on_PERCENT_IDIOTS_value_changed(value):
if doNotPropagate>0:
doNotPropagate -=1
return
var pctVaxxed = slideVaxxed.value
var pctIdiots = slideIdiots.value
var pctInfected = slideInfected.value
var oldValue=int(lblIdiots.text)
var diff = oldValue-value
if diff < 0 && ((pctInfected + diff) < 0 ):
pctVaxxed += diff
elif diff < 0 && ((pctVaxxed + diff) < 0 ):
pctInfected += diff
elif diff > 0 && ((pctInfected + diff) > 100 ):
pctVaxxed += diff
else:
pctInfected += diff
doNotPropagate = 2
slideInfected.set_value(pctInfected)
slideVaxxed.set_value(pctVaxxed)
rebase_sliders()
func _on_PERCENT_INFECTED_value_changed(value):
if doNotPropagate>0:
doNotPropagate -=1
return
var pctVaxxed = slideVaxxed.value
var pctIdiots = slideIdiots.value
var pctInfected = slideInfected.value
var oldValue=int(lblInfected.text)
var diff = oldValue-value
if diff < 0 && ((pctIdiots + diff) < 0 ):
pctVaxxed += diff
elif diff < 0 && ((pctVaxxed + diff) < 0 ):
pctIdiots += diff
elif diff > 0 && ((pctIdiots + diff) > 100 ):
pctVaxxed += diff
else:
pctIdiots += diff
doNotPropagate = 2
slideIdiots.set_value(pctIdiots)
slideVaxxed.set_value(pctVaxxed)
rebase_sliders()
func _on_PERCENT_VAXXED_value_changed(value):
if doNotPropagate>0:
doNotPropagate -=1
return
var pctVaxxed = slideVaxxed.value
var pctIdiots = slideIdiots.value
var pctInfected = slideInfected.value
var oldValue=int(lblVaxxed.text)
var diff = oldValue-value
if diff < 0 && ((pctIdiots + diff) < 0 ):
pctInfected += diff
elif diff < 0 && ((pctInfected + diff) < 0 ):
pctIdiots += diff
elif diff > 0 && ((pctIdiots + diff) > 100 ):
pctInfected += diff
else:
pctIdiots += diff
doNotPropagate = 2
slideInfected.set_value(pctInfected)
slideIdiots.set_value(pctIdiots)
rebase_sliders()
func rebase_sliders():
var pctVaxxed = slideVaxxed.value
var pctIdiots = slideIdiots.value
var pctInfected = slideInfected.value
if pctIdiots == 100:
pctVaxxed=0
pctInfected=0
elif pctInfected == 100:
pctVaxxed=0
pctIdiots=0
elif pctVaxxed == 100:
pctInfected=0
pctIdiots=0
slideVaxxed.set_value(pctVaxxed)
slideInfected.set_value(pctInfected)
slideIdiots.set_value(pctIdiots)
lblIdiots.text = str(slideIdiots.value)
lblInfected.text = str(slideInfected.value)
lblVaxxed.text = str(slideVaxxed.value)