Refactored to be controller centric; added message buss pattern with early support eent types
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
class_name GameController extends BaseController
|
||||
|
||||
|
||||
func _controller_message(event: BaseEvent) -> void:
|
||||
if event is GameReadyEvent:
|
||||
handle_game_ready_event()
|
||||
|
||||
func handle_game_ready_event() -> void:
|
||||
controller_message_bus.message.call(
|
||||
CreateAlliesJetEvent.new()
|
||||
)
|
||||
|
||||
controller_message_bus.message.call(
|
||||
CreateAxisJetEvent.new()
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
uid://cj1b7xcnaiuu6
|
||||
@@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://ir8lwj1gx7m2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cj1b7xcnaiuu6" path="res://scripts/controllers/game_system/game_controller.gd" id="1_itum8"]
|
||||
|
||||
[node name="game_controller" type="Node"]
|
||||
script = ExtResource("1_itum8")
|
||||
@@ -0,0 +1,9 @@
|
||||
class_name BaseGameMode extends Node
|
||||
|
||||
|
||||
var ALLIES_COUNT: int = 10
|
||||
var AXIS_COUNT: int = 10
|
||||
var NEUTRAL_COUNT: int = 10
|
||||
var SPAWN_COUNT: int = 16
|
||||
var LIFE_CHIPS_COUNT: int = 200
|
||||
var WAVES: int = 5
|
||||
@@ -0,0 +1 @@
|
||||
uid://bkove4hhspua4
|
||||
@@ -0,0 +1,10 @@
|
||||
class_name DogFight extends BaseGameMode
|
||||
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
SPAWN_COUNT = 16
|
||||
LIFE_CHIPS_COUNT = SPAWN_COUNT * 3
|
||||
|
||||
func _ready() -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://bkbfu1tsd611m
|
||||
@@ -0,0 +1,6 @@
|
||||
class_name DogFightWaves extends BaseGameMode
|
||||
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://qo3ajsysrh4c
|
||||
@@ -0,0 +1,19 @@
|
||||
class_name GameMode extends Node
|
||||
|
||||
|
||||
const MODES: Dictionary = {
|
||||
0: preload("res://scripts/controllers/game_system/game_modes/dog_fight.gd"),
|
||||
1: preload("res://scripts/controllers/game_system/game_modes/dog_fight_waves.gd")
|
||||
}
|
||||
|
||||
@export_enum(
|
||||
"Dog Fight:0",
|
||||
"Dog Fight Waves:1"
|
||||
) var mode: int = 0
|
||||
|
||||
@export var jet_factory: JetFactory
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
#MODES[mode].instantiate()
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://dwkkrl7unxqau
|
||||
@@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://nlwfoq6opqck"]
|
||||
|
||||
[node name="game_mode" type="Node"]
|
||||
Reference in New Issue
Block a user