aboutsummaryrefslogtreecommitdiff
path: root/lib/building_interface.gd
diff options
context:
space:
mode:
Diffstat (limited to 'lib/building_interface.gd')
-rw-r--r--lib/building_interface.gd26
1 files changed, 26 insertions, 0 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)