summaryrefslogtreecommitdiff
path: root/Stages/Wintermaul/money_manager.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Stages/Wintermaul/money_manager.gd')
-rw-r--r--Stages/Wintermaul/money_manager.gd50
1 files changed, 50 insertions, 0 deletions
diff --git a/Stages/Wintermaul/money_manager.gd b/Stages/Wintermaul/money_manager.gd
new file mode 100644
index 0000000..3029a67
--- /dev/null
+++ b/Stages/Wintermaul/money_manager.gd
@@ -0,0 +1,50 @@
+class_name MoneyManager
+extends Node
+
+
+func get_tower_price() -> int:
+ return 5
+
+
+func get_component_price(
+ component_type: TowerComponent.ComponentType,
+ number_of_towers: int
+) -> int:
+ if component_type == TowerComponent.ComponentType.Range:
+ return 100 * number_of_towers
+
+ elif component_type == TowerComponent.ComponentType.Attack:
+ return 100 * number_of_towers
+
+ elif component_type == TowerComponent.ComponentType.Frost:
+ return 100 * number_of_towers
+
+ elif component_type == TowerComponent.ComponentType.Burn:
+ return 100 * number_of_towers
+
+ elif component_type == TowerComponent.ComponentType.Poison:
+ return 100 * number_of_towers
+
+ return 0
+
+
+func get_component_level_up_price(
+ component: TowerComponent,
+ number_of_towers: int
+) -> int:
+ if component.type == TowerComponent.ComponentType.Range:
+ return int(pow(5, component.level)) * number_of_towers
+
+ elif component.type == TowerComponent.ComponentType.Attack:
+ return 10 * component.level * number_of_towers
+
+ elif component.type == TowerComponent.ComponentType.Frost:
+ return 10 * component.level * number_of_towers
+
+ elif component.type == TowerComponent.ComponentType.Burn:
+ return 10 * component.level * number_of_towers
+
+ elif component.type == TowerComponent.ComponentType.Poison:
+ return 10 * component.level * number_of_towers
+
+ return 0