pollen-not-included/entities/scripts/flowers.gd
Dan 2a9e78b52e 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.
2024-05-15 10:42:16 +01:00

42 lines
No EOL
1 KiB
GDScript

extends Node2D
class_name Flowers
@onready var outline : Sprite2D = $AreaHighlight
@export var health : int = 100
var spawn_snails : bool = false
@onready var spawn_area : CollisionShape2D = $FlowerCollectionArea/CollisionShape2D
@onready var snail : Snail = $Snail
func _ready() -> void:
hide_outline()
## Check if this level is spawning snails or not
if GameState.spawn_snails:
Log.pr("Going to be spawning snails!")
spawn_snails = true
Log.pr(get_random_snail_spawn())
snail.global_position = get_random_snail_spawn()
func show_outline() -> void:
outline.visible = true
func hide_outline() -> void:
outline.visible = false
func get_random_snail_spawn() -> Vector2:
var circle_radius : float = spawn_area.shape.radius
var random_angle : float = randf_range(0, TAU)
var x : float = circle_radius * cos(random_angle)
var y : float = circle_radius * sin(random_angle)
var circle_center : Vector2 = spawn_area.global_position
var random_point : Vector2 = circle_center + Vector2(x, y)
return random_point