basic game manager
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 7s
Create tag and build when new code gets to main / Export (push) Successful in 1m11s

This commit is contained in:
2026-01-31 11:48:13 +01:00
parent 158e18f1fe
commit 6640ccace8
12 changed files with 94 additions and 18 deletions

View File

@@ -0,0 +1,55 @@
@tool
extends Node
class_name GameManager
@export_category("Complete rosters")
@export var character_roster: Array[CharacterResource]
@export var mask_roster: Array[MaskResource]
@export_category("Predetermined levels")
@export_group("Level 1")
@export var lvl1_guest_1: MaskedChara
@export var lvl1_guest_2: MaskedChara
@export_group("Level 2")
@export var lvl2_guest_1: MaskedChara
@export var lvl2_guest_2: MaskedChara
@export_category("Random levels")
@export var max_roster_size: int = 3;
@export_tool_button("Create chara roster") var create_roster_action = create_new_roster
var current_chara_roster: Array[MaskedChara]
enum GameState {
READY,
GUEST_REVIEW,
FINISHED
}
enum Levels {
LVL1,
LVL2,
RANDOM
}
var current_game_state = GameState.READY
var current_level = Levels.LVL1
func create_new_roster() -> void:
print("Create new roster")
var already_picked_charas: Array[String] = []
for i in range(max_roster_size):
var chara: CharacterResource = character_roster.pick_random()
var mask: MaskResource = mask_roster.pick_random()
var all_masks: Array[MaskResource] = [mask]
var masked_chara = MaskedChara.new(chara, all_masks)
current_chara_roster.append(masked_chara)
print("Added %s to roster" % chara.name)
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

View File

@@ -0,0 +1 @@
uid://b1w0ocrgjkjen

View File

@@ -0,0 +1,13 @@
extends Resource
class_name MaskedChara
@export var character: CharacterResource
@export var masks: Array[MaskResource]
# Make sure that every parameter has a default value.
# Otherwise, there will be problems with creating and editing
# your resource via the inspector.
func _init(p_character: CharacterResource = CharacterResource.new(), p_mask: Array[MaskResource] = []):
character = p_character
masks = p_mask

View File

@@ -0,0 +1 @@
uid://b8peyg02l0mrn