From 4d59eb6a96cb2b2e2fc5d1d34a04292fd376fe0a Mon Sep 17 00:00:00 2001 From: Roman Gräf Date: Sun, 19 Apr 2020 16:00:58 +0200 Subject: Mehr riot kram, i guess --- lib/building_interface.gd | 26 ++++++++++++++++++++++++++ lib/ticked.gd | 5 ++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 lib/building_interface.gd (limited to 'lib') 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 -- cgit