Refactor: Added explicit typing and void return types

- Introduced explicit typing to variables and functions across multiple scripts for better code clarity.
- Specified 'void' as the return type for functions that do not return a value.
- Removed redundant code in some scripts.
This commit is contained in:
Dan 2024-05-15 10:42:16 +01:00
parent a62cd6018e
commit 2a9e78b52e
37 changed files with 216 additions and 248 deletions

View file

@ -1,11 +1,11 @@
extends Node2D
class_name BeeSpawner
var bee = preload("res://entities/Bee.tscn")
var bee : Resource = preload("res://entities/Bee.tscn")
@onready var beehive = get_node("../Beehive")
@onready var bee_sound = get_node("BigBeeSound")
@onready var small_bee_sound = get_node("BeeSound")
@onready var beehive : Beehive = get_node("../Beehive")
@onready var bee_sound : AudioStreamPlayer = get_node("BigBeeSound")
@onready var small_bee_sound : AudioStreamPlayer = get_node("BeeSound")
var bee_count : int = 0
var max_bees : int = 100
@ -13,12 +13,12 @@ var spawn_interval : float = 0.5
var spawn_timer : float = 0.0
var bee_sound_timer : float = 0.0
func spawn_bee():
var bee_instance = bee.instantiate()
func spawn_bee() -> void:
var bee_instance : Bee = bee.instantiate()
add_child(bee_instance)
bee_instance.position = beehive.global_position
func _process(delta):
func _process(delta : float) -> void:
spawn_timer += delta
if spawn_timer > spawn_interval and bee_count < max_bees and beehive.dancer_in_range:
@ -30,7 +30,7 @@ func _process(delta):
if bee_count > 0 and small_bee_sound.playing == false:
small_bee_sound.play()
func _physics_process(delta):
func _physics_process(delta : float) -> void:
bee_sound_timer += delta
if bee_sound_timer > 1.0 and bee_count > 0:
bee_sound_timer = 0.0

View file

@ -1,19 +1,19 @@
extends Node2D
class_name Dog
@onready var death_box = $DeathBox
@onready var outline = $AreaHighlight
@onready var death_box : Area2D = $DeathBox
@onready var outline : Sprite2D = $AreaHighlight
var acquired_target : Bee = null
var acquired_target : Node2D = null
var target_timer : float = 0.0
@export var distracted : bool = false
var distracted_by : Node2D = null
func _ready():
func _ready() -> void:
death_box.connect("body_entered", Callable(self, "_on_body_entered"))
death_box.connect("body_exited", Callable(self, "_on_body_exited"))
func _process(delta):
func _process(delta : float) -> void:
if acquired_target:
target_timer += delta
@ -32,14 +32,14 @@ func _process(delta):
# Look around
rotation = lerp_angle(rotation, rotation + get_angle_to(distracted_by.global_position), 0.5)
func show_outline():
func show_outline() -> void:
outline.visible = true
func hide_outline():
func hide_outline() -> void:
outline.visible = false
func _on_body_entered(area):
func _on_body_entered(area : Node2D) -> void:
if area.is_in_group("bee") and distracted == false:
if !acquired_target:
Log.pr("Acquired target")
@ -52,7 +52,7 @@ func _on_body_entered(area):
distracted = true
distracted_by = area
func _on_body_exited(area):
func _on_body_exited(area : Node2D) -> void:
if area == acquired_target:
Log.pr("Lost target")
acquired_target = null

View file

@ -1,23 +1,23 @@
extends HBoxContainer
@onready var buttons = get_children()
@onready var buttons : Array[Node] = get_children()
func disable_buttons():
func disable_buttons() -> void:
## Disable all buttons
for button in buttons:
for button : Button in buttons:
button.disabled = true
visible = false
func enable_buttons():
func enable_buttons() -> void:
## Enable all buttons
for button in buttons:
for button : Button in buttons:
button.disabled = false
visible = true
func reset_button_focus():
func reset_button_focus() -> void:
## Reset focus on all buttons
for button in buttons:
for button : Button in buttons:
button.release_focus()

View file

@ -6,23 +6,23 @@ var spawning_type : String = ""
var director_drones : Array = [] # List of all director drones in the world
@onready var rules = get_parent().get_node("RulesComponent")
@onready var beehive = get_parent().get_node("Beehive")
@onready var flowers = get_parent().get_node("Flowers")
@onready var dog = null
@onready var drone_controls = %DroneControls
@onready var ui_controls = get_parent().get_node("UiComponent")
@onready var spawned_drones_container = get_node("SpawnedDrones")
@onready var place_cursor = preload("res://resources/cursors/target_round_b.png")
@onready var rules : RulesComponent = get_parent().get_node("RulesComponent") as RulesComponent
@onready var beehive : Beehive = get_parent().get_node("Beehive")
@onready var flowers : Flowers = get_parent().get_node("Flowers")
@onready var dog : Dog = null
@onready var drone_controls : HBoxContainer = %DroneControls
@onready var ui_controls : UIComponent = get_parent().get_node("UiComponent")
@onready var spawned_drones_container : Node = get_node("SpawnedDrones")
@onready var place_cursor : Resource = preload("res://resources/cursors/target_round_b.png")
# Drones!
@onready var director_drone = preload("res://entities/DirectorDrone.tscn")
@onready var dancer_drone = preload("res://entities/DancerDrone.tscn")
@onready var distractor_drone = preload("res://entities/DistractorDrone.tscn")
@onready var collector_drone = preload("res://entities/CollectorDrone.tscn")
@onready var director_drone : Resource = preload("res://entities/DirectorDrone.tscn")
@onready var dancer_drone : Resource = preload("res://entities/DancerDrone.tscn")
@onready var distractor_drone : Resource = preload("res://entities/DistractorDrone.tscn")
@onready var collector_drone : Resource = preload("res://entities/CollectorDrone.tscn")
func _ready():
func _ready() -> void:
if !rules.game_rules.collector_enabled:
%SpawnCollector.visible = false
if !rules.game_rules.dancer_enabled:
@ -37,7 +37,7 @@ func _ready():
dog = get_parent().get_node("Dog")
## Function to detect right click event
func _input(event) -> void:
func _input(event : InputEvent) -> void:
if spawning_drone:
if (event is InputEventMouseButton && event.button_index == MOUSE_BUTTON_RIGHT && event.pressed):
Log.pr("Cancelling placement of drone")
@ -49,7 +49,7 @@ func _input(event) -> void:
func spawn_drone(drone_type : String) -> void:
Log.pr("This function will put a " + drone_type + " drone in the world")
var new_drone = null
var new_drone : Node = null
# Create a new instance of the drone
if drone_type == "director":
new_drone = director_drone.instantiate()
@ -119,22 +119,22 @@ func _on_spawn_dancer_pressed() -> void:
ui_controls.show_help_text("Help_Drone_Placement_Dancer")
place_drone("dancer")
func _on_spawn_director_mouse_entered():
func _on_spawn_director_mouse_entered() -> void:
reset_node_highlights()
ui_controls.show_help_text("Help_Drone_Placement_Director")
func _on_spawn_collector_mouse_entered():
func _on_spawn_collector_mouse_entered() -> void:
reset_node_highlights()
flowers.show_outline()
ui_controls.show_help_text("Help_Drone_Placement_Collector")
func _on_spawn_distractor_mouse_entered():
func _on_spawn_distractor_mouse_entered() -> void:
reset_node_highlights()
if dog:
dog.show_outline()
ui_controls.show_help_text("Help_Drone_Placement_Distractor")
func _on_spawn_dancer_mouse_entered():
func _on_spawn_dancer_mouse_entered() -> void:
reset_node_highlights()
beehive.show_outline()
ui_controls.show_help_text("Help_Drone_Placement_Dancer")
@ -147,10 +147,10 @@ func _on_button_mouse_exited() -> void:
# reset_node_highlights.call_deferred()
pass
func update_director_drone_list():
func update_director_drone_list() -> void:
director_drones.clear()
var x = 1
for drone in spawned_drones_container.get_children():
var x : int = 1
for drone : Node in spawned_drones_container.get_children():
if drone is DirectorDrone:
drone.visit_order = x
director_drones.append(drone)
@ -159,32 +159,32 @@ func update_director_drone_list():
Log.pr(director_drones.size())
func get_director(drone_number : int) -> DirectorDrone:
for drone in director_drones:
for drone : Node in director_drones:
if drone.visit_order == drone_number:
return drone
return null
func get_next_director(current_director_number : int) -> DirectorDrone:
for drone in director_drones:
for drone : Node in director_drones:
if drone.visit_order == current_director_number + 1:
return drone
return null
func get_previous_director(current_director_number : int) -> DirectorDrone:
for drone in director_drones:
for drone : Node in director_drones:
if drone.visit_order == current_director_number - 1:
return drone
return null
## For now this just returns the first collector drone it finds
## This will need to be updated to return the closest collector drone potentially?
func get_collector():
for drone in spawned_drones_container.get_children():
func get_collector() -> CollectorDrone:
for drone : Node in spawned_drones_container.get_children():
if drone is CollectorDrone:
return drone
return null
func reset_node_highlights():
func reset_node_highlights() -> void:
ui_controls.hide_help_text()
beehive.hide_outline()
flowers.hide_outline()

View file

@ -1,7 +1,7 @@
extends Level
class_name HighScoresScreen
func _ready():
func _ready() -> void:
update_game_state()
%BeeDeathLabel.text = Str.format_number(HighScoreMgr.loaded_data.total_bees_killed)
%HoneyCountLabel.text = Str.format_number(HighScoreMgr.loaded_data.total_honey_collected)
@ -15,5 +15,5 @@ func _ready():
%MainMenuButton.connect("pressed", Callable(self, "on_main_menu_button_pressed"))
func on_main_menu_button_pressed():
func on_main_menu_button_pressed() -> void:
SceneMgr.load_scene("MAINMENU")

View file

@ -1,18 +1,18 @@
extends Level
class_name MainMenu
@onready var level_select = get_node("%MenuButton")
@onready var high_scores = get_node("%HighScores")
@onready var exit_button = get_node("%ExitGame")
@onready var level_select : MenuButton = get_node("%MenuButton")
@onready var high_scores : Button = get_node("%HighScores")
@onready var exit_button : Button = get_node("%ExitGame")
func _ready():
func _ready() -> void:
level_select.get_popup().id_pressed.connect(_on_item_menu_pressed)
high_scores.connect("pressed", Callable(self, "on_high_scores_pressed"))
exit_button.connect("pressed", Callable(self, "on_exit_pressed"))
update_game_state()
func _on_item_menu_pressed(id):
func _on_item_menu_pressed(id : int) -> void:
## Load the appropriate level based on the selection that has been made
Log.pr(id)
@ -36,12 +36,12 @@ func _on_item_menu_pressed(id):
# Load level 6
SceneMgr.load_scene("LEVEL6")
func on_high_scores_pressed():
func on_high_scores_pressed() -> void:
## Load the high scores screen
Log.pr("High scores button pressed")
SceneMgr.load_scene("HIGHSCORES")
pass
func on_exit_pressed():
func on_exit_pressed() -> void:
# Quit the game
get_tree().quit()

View file

@ -14,7 +14,7 @@ const SCENES : Dictionary = {
var loading_scene_res : Resource = null
func _ready():
func _ready() -> void:
## LOAD GAME DATA
HighScoreMgr.load()
HighScoreMgr.debug_output()
@ -25,7 +25,7 @@ func _ready():
SceneMgr.connect("change_scene", Callable(self, "_on_change_scene"))
$TransitionScene.connect("transitioned", Callable(self, "_on_transition_scene_transitioned"))
func _on_change_scene(scene_name):
func _on_change_scene(scene_name : String) -> void:
Log.pr("Going to load a scene.", scene_name)
if SCENES.has(scene_name):
GameState.reset()
@ -35,6 +35,6 @@ func _on_change_scene(scene_name):
else:
loading_scene_res = null
func _on_transition_scene_transitioned():
func _on_transition_scene_transitioned() -> void:
$CurrentScene.get_child(0).queue_free()
$CurrentScene.add_child(loading_scene_res.instantiate())

View file

@ -2,14 +2,14 @@ extends CanvasLayer
signal transitioned
func _ready():
func _ready() -> void:
$AnimationPlayer.play("fade_to_normal")
func transition():
func transition() -> void:
$AnimationPlayer.play("fade_to_black")
Log.pr("Fading to black")
func _on_animation_player_animation_finished(anim_name:StringName):
func _on_animation_player_animation_finished(anim_name : StringName) -> void:
if anim_name == "fade_to_black":
Log.pr("Sending transitioned signal...")
emit_signal("transitioned")