aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRoman Gräf <romangraef@gmail.com>2020-04-19 16:00:58 +0200
committerRoman Gräf <romangraef@gmail.com>2020-04-19 16:00:58 +0200
commit4d59eb6a96cb2b2e2fc5d1d34a04292fd376fe0a (patch)
treeb2f4ea47107c010ad00cba0648fe26821e1a7ae3 /lib
parent4ada18ddb40c5cdc4f05ad18accd4f79290543c5 (diff)
downloadLDJam46-4d59eb6a96cb2b2e2fc5d1d34a04292fd376fe0a.tar.gz
LDJam46-4d59eb6a96cb2b2e2fc5d1d34a04292fd376fe0a.tar.bz2
LDJam46-4d59eb6a96cb2b2e2fc5d1d34a04292fd376fe0a.zip
Mehr riot kram, i guess
Diffstat (limited to 'lib')
-rw-r--r--lib/building_interface.gd26
-rw-r--r--lib/ticked.gd5
2 files changed, 30 insertions, 1 deletions
diff --git a/lib/building_interface.gd b/lib/building_interface.gd
new file mode 100644
index 0000000..b03d3d1
--- /dev/null
+++ b/lib/building_interface.gd
@@ -0,0 +1,26 @@
+extends Ticked
+class_name BuildingInterface
+
+export var base_cost := 1.0
+export var cost_multiplier := 1.0
+export var building_identifier := ""
+
+func _process(delta):
+ ._process(delta)
+ update_label()
+
+func update_label():
+ var label : Label = $Label
+ label.text = str(get_amount())
+
+func get_cost() -> float:
+ return floor(base_cost * pow(cost_multiplier, get_amount()))
+
+func get_amount() -> int:
+ return SaveState.buildings[building_identifier]
+
+func set_amount(value : int) -> void:
+ SaveState.buildings[building_identifier] = value
+
+func _bought() -> void:
+ set_amount(get_amount() + 1)
diff --git a/lib/ticked.gd b/lib/ticked.gd
index cef46ab..cacfaef 100644
--- a/lib/ticked.gd
+++ b/lib/ticked.gd
@@ -1,4 +1,4 @@
-extends Node
+extends Node2D
class_name Ticked
export var tick_rate := 1.0
@@ -8,6 +8,9 @@ func _tick():
func _process(delta: float) -> void:
current_tick += delta
+ if tick_rate < 0:
+ current_tick = 0
+ return
while current_tick > tick_rate:
_tick()
current_tick -= tick_rate