class_name GameStateManager extends Node var level_timer : float = 0.0 var level_started : bool = false var level_complete : bool = false var gathered_nectar : int = 0 : get: return gathered_nectar set(value): gathered_nectar = value if gathered_nectar > required_nectar: game_win() @export var required_nectar : int = 100 @export var level_par : int = 2 @export var drones_used : int = 0 var level_points : int = 0 : get: return required_nectar * 100 - round(level_timer) * 10 - drones_used * 100 var judge_level_par : int = 0 : get: ## Return an amount of points based on the difference between the number of drones_used and the level_par ## Using more drones than the par is bad and should result in less points var diff = drones_used - level_par if diff > 0: return -diff * 100 else: return 0 func _process(delta): if level_started and !level_complete: level_timer += delta func add_nectar(): gathered_nectar += 1 func add_drone(): drones_used += 1 func remove_drone(): drones_used -= 1 func game_start(): level_started = true func game_win(): Log.pr("Game win") level_complete = true # get_tree().paused = true func game_lose(): pass