31 lines
637 B
GDScript
31 lines
637 B
GDScript
class_name SpawnPoint extends Node3D
|
|
|
|
@export var player_index : int = 0
|
|
@export var fixed_player : bool = false
|
|
|
|
var near_players: Array = []
|
|
|
|
func _ready():
|
|
var area3d = $'Area3D'
|
|
|
|
area3d.connect("body_entered", on_player_enter)
|
|
area3d.connect("body_exited", on_player_exited)
|
|
|
|
func on_player_enter(node: Node3D):
|
|
var player: Player = node as Player
|
|
if node == null:
|
|
return
|
|
|
|
if not near_players.find(player):
|
|
near_players.append(player)
|
|
|
|
func on_player_exited(node: Node3D):
|
|
var player: Player = node as Player
|
|
if node == null:
|
|
return
|
|
|
|
near_players.erase(player)
|
|
|
|
func is_occupied():
|
|
return near_players.size() > 0
|