diff options
Diffstat (limited to 'Stages/Wintermaul/money_manager.gd')
-rw-r--r-- | Stages/Wintermaul/money_manager.gd | 50 |
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 |