Update bee animations, game over component UI, and game state handling. Set up game over conditions based on the number of dead bees.

This commit is contained in:
Dan 2024-05-11 16:09:57 +01:00
parent 2a4a578f19
commit f4e2169009
11 changed files with 203 additions and 37 deletions

View file

@ -4,8 +4,11 @@ var placing_drone : bool = false
var level_timer : float = 0.0
var level_number : int = 0
var level_started : bool = false
var level_complete : bool = false
var game_over : bool = false
var gathered_nectar : int = 0 :
get:
@ -15,9 +18,17 @@ var gathered_nectar : int = 0 :
if gathered_nectar > required_nectar and !level_complete:
game_win()
@export var required_nectar : int = 100
@export var level_par : int = 2
@export var drones_used : int = 0
var required_nectar : int = 100
var level_par : int = 2
var drones_used : int = 0
var bees_available : int = 0
var dead_bees : int = 0 :
get:
return dead_bees
set(value):
dead_bees = value
if dead_bees >= bees_available and !game_over:
game_lose()
var level_points : int = 0 :
get:
@ -34,9 +45,12 @@ var judge_level_par : int = 0 :
return 0
func _process(delta):
if level_started and !level_complete:
if level_started and !level_complete and !game_over:
level_timer += delta
func bee_died():
dead_bees += 1
func add_nectar():
gathered_nectar += 1
@ -53,10 +67,15 @@ func game_win():
Log.pr("Game win")
level_complete = true
HighScoreMgr.add_honey(gathered_nectar)
# get_tree().paused = true
HighScoreMgr.update_highscore(level_number, level_points)
HighScoreMgr.add_dead_bees(dead_bees)
HighScoreMgr.save()
func game_lose():
pass
Log.pr("Game lose")
game_over = true
HighScoreMgr.add_dead_bees(dead_bees)
HighScoreMgr.save()
func reset():
level_timer = 0.0
@ -64,3 +83,4 @@ func reset():
level_complete = false
gathered_nectar = 0
drones_used = 0
dead_bees = 0