Initial commit
This commit is contained in:
commit
0f67687c55
39 changed files with 1205 additions and 0 deletions
75
gameManager.gd
Normal file
75
gameManager.gd
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
extends Node2D
|
||||
|
||||
@export var shyguy_mode : bool
|
||||
var player_spawns : Array[Node]
|
||||
var starting_shine_spawns : Array[Node]
|
||||
var shine_spawns : Array[Node]
|
||||
var players : Array[Player]
|
||||
|
||||
@export_group("Node References")
|
||||
@export var player_spawns_nodes : Node2D
|
||||
@export var starting_shine_nodes : Node2D
|
||||
@export var shine_nodes : Node2D
|
||||
@export var scorecard_container : VBoxContainer
|
||||
@export var elim_timer_label : Label
|
||||
@export var game_timer_label : Label
|
||||
|
||||
var game_timer : float = 0
|
||||
var elim_timer : float = 60
|
||||
|
||||
func _ready() -> void:
|
||||
player_spawns = player_spawns_nodes.get_children()
|
||||
starting_shine_spawns = starting_shine_nodes.get_children()
|
||||
shine_spawns = shine_nodes.get_children()
|
||||
createPlayers()
|
||||
spawn_shinies()
|
||||
|
||||
func createPlayers():
|
||||
for i in range(8):
|
||||
spawnPlayer(i)
|
||||
|
||||
func spawnPlayer(id : int):
|
||||
var player : Player = load("res://player.tscn").instantiate()
|
||||
var scorecard : Scorecard = load("res://scorecard.tscn").instantiate()
|
||||
|
||||
player.id = id
|
||||
scorecard.id = id
|
||||
if(shyguy_mode):
|
||||
player.id += 12
|
||||
scorecard.id += 12
|
||||
player.position = player_spawns[id].position
|
||||
player.scorecard = scorecard
|
||||
player.setup()
|
||||
players.append(player)
|
||||
add_child(player)
|
||||
scorecard_container.add_child(scorecard)
|
||||
|
||||
func spawn_shinies():
|
||||
for i in range(4):
|
||||
var shiny = load("res://shiny.tscn").instantiate()
|
||||
shiny.position = shine_spawns[i].position
|
||||
add_child(shiny)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
elim_timer -= delta
|
||||
game_timer += delta
|
||||
update_ui()
|
||||
|
||||
func update_ui():
|
||||
elim_timer_label.text = format_time(elim_timer, false)
|
||||
game_timer_label.text = format_time(game_timer, true)
|
||||
order_scoreboard()
|
||||
|
||||
func order_scoreboard():
|
||||
pass
|
||||
|
||||
|
||||
func format_time(time : float, include_minutes : bool) -> String:
|
||||
var minutes : int = floor(time / 60)
|
||||
var seconds : int = time - 60*minutes
|
||||
var millis : float = time - floor(time)
|
||||
var millis_2dp : int = floor(millis*100)
|
||||
if(include_minutes):
|
||||
return str(minutes).pad_zeros(2) +":"+ str(seconds).pad_zeros(2)+"."+str(millis_2dp).pad_zeros(2)
|
||||
else:
|
||||
return str(seconds).pad_zeros(2)+"."+str(millis_2dp).pad_zeros(2)
|
||||
Loading…
Add table
Add a link
Reference in a new issue