diff options
author | Roman Gräf <romangraef@gmail.com> | 2020-04-19 16:00:58 +0200 |
---|---|---|
committer | Roman Gräf <romangraef@gmail.com> | 2020-04-19 16:00:58 +0200 |
commit | 4d59eb6a96cb2b2e2fc5d1d34a04292fd376fe0a (patch) | |
tree | b2f4ea47107c010ad00cba0648fe26821e1a7ae3 /lib | |
parent | 4ada18ddb40c5cdc4f05ad18accd4f79290543c5 (diff) | |
download | LDJam46-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.gd | 26 | ||||
-rw-r--r-- | lib/ticked.gd | 5 |
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 |