Prepare CPU Mode GOAP pattern; initial assign player event patterns
This commit is contained in:
@@ -1,18 +1,28 @@
|
||||
class_name CPUController extends BaseController
|
||||
|
||||
|
||||
func _controller_message(_event: BaseEvent) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if not jets_collection: return
|
||||
|
||||
for jet: Jet in jets_collection.get_children():
|
||||
if jet.controller.control_mode == Globals.ControlMode.PLAYER_MODE:
|
||||
if Globals.ControlMode.PLAYER_MODE == jet.controller.control_mode:
|
||||
continue
|
||||
|
||||
set_jet_action(jet)
|
||||
process_jet_plan(jet.controller.cpu)
|
||||
|
||||
func set_jet_action(jet: Jet) -> void:
|
||||
jet.controller.cpu.yaw_left()
|
||||
func _controller_message(event: BaseEvent) -> void:
|
||||
if event is InitSpawnsLoadedEvent:
|
||||
handle_init_spawns_loaded_event()
|
||||
|
||||
func handle_init_spawns_loaded_event() -> void:
|
||||
for jet: Jet in jets_collection.get_children():
|
||||
if Globals.ControlMode.PLAYER_MODE == jet.controller.control_mode:
|
||||
continue
|
||||
|
||||
create_jet_plan(jet)
|
||||
|
||||
func create_jet_plan(jet: Jet) -> void:
|
||||
print(jet)
|
||||
|
||||
func process_jet_plan(jet: CPU) -> void:
|
||||
jet.yaw_left()
|
||||
|
||||
@@ -4,12 +4,25 @@ class_name GameController extends BaseController
|
||||
func _controller_message(event: BaseEvent) -> void:
|
||||
if event is GameReadyEvent:
|
||||
handle_game_ready_event()
|
||||
elif event is AssignPlayerJet:
|
||||
assign_player_jet(event)
|
||||
|
||||
func handle_game_ready_event() -> void:
|
||||
controller_message_bus.message.call(
|
||||
CreateAlliesJetEvent.new()
|
||||
)
|
||||
controller_message_bus.message.call( CreateAlliesJetEvent.new() )
|
||||
controller_message_bus.message.call( CreateAxisJetEvent.new() )
|
||||
|
||||
controller_message_bus.message.call(
|
||||
CreateAxisJetEvent.new()
|
||||
)
|
||||
var event: AssignPlayerJet = AssignPlayerJet.new()
|
||||
event.set_as_allies()
|
||||
|
||||
controller_message_bus.message.call_deferred(event)
|
||||
controller_message_bus.message.call_deferred( InitSpawnsLoadedEvent.new() )
|
||||
|
||||
|
||||
func assign_player_jet(event: AssignPlayerJet) -> void:
|
||||
for jet: Jet in jets_collection.get_children():
|
||||
if not jet.faction == event.faction: continue
|
||||
if jet.controller.control_mode == Globals.ControlMode.PLAYER_MODE: continue
|
||||
|
||||
jet.set_as_player()
|
||||
|
||||
break
|
||||
|
||||
@@ -4,7 +4,7 @@ class_name JetController extends Node
|
||||
@export_enum(
|
||||
"CPU:0",
|
||||
"PLAYER:1"
|
||||
) var control_mode: int = Globals.ControlMode.PLAYER_MODE
|
||||
) var control_mode: int = Globals.ControlMode.CPU_MODE
|
||||
|
||||
@onready var cpu: CPU = $cpu
|
||||
@onready var player: Player = $player
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
class_name CPU extends Node
|
||||
|
||||
|
||||
var command: Globals.ControllerCommand = Globals.ControllerCommand.NONE
|
||||
var command: Globals.ControllerCommand = Globals.ControllerCommand.NONE
|
||||
var throttle: Globals.ControllerCommand = Globals.ControllerCommand.NONE
|
||||
|
||||
|
||||
func process(_delta: float) -> Globals.ControllerCommand:
|
||||
@@ -13,6 +14,7 @@ func physics_process(_delta: float) -> Globals.ControllerCommand:
|
||||
func unhandled_input(_event: InputEvent) -> Globals.ControllerCommand:
|
||||
return command
|
||||
|
||||
|
||||
func pull_up() -> void:
|
||||
command = Globals.ControllerCommand.PULL_UP
|
||||
|
||||
@@ -32,7 +34,13 @@ func roll_right() -> void:
|
||||
command = Globals.ControllerCommand.ROLL_RIGHT
|
||||
|
||||
func throttle_up() -> void:
|
||||
command = Globals.ControllerCommand.THROTTLE_UP
|
||||
throttle = Globals.ControllerCommand.THROTTLE_UP
|
||||
|
||||
func throttle_down() -> void:
|
||||
command = Globals.ControllerCommand.THROTTLE_DOWN
|
||||
throttle = Globals.ControllerCommand.THROTTLE_DOWN
|
||||
|
||||
func throttle_neutral() -> void:
|
||||
throttle = Globals.ControllerCommand.NONE
|
||||
|
||||
func no_action() -> void:
|
||||
command = Globals.ControllerCommand.NONE
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
class_name AssignPlayerJet extends BaseEvent
|
||||
|
||||
|
||||
var faction: Globals.Faction
|
||||
|
||||
|
||||
func set_as_allies() -> void:
|
||||
faction = Globals.Faction.ALLIES
|
||||
|
||||
func set_as_axis() -> void:
|
||||
faction = Globals.Faction.AXIS
|
||||
|
||||
func set_as_neutral() -> void:
|
||||
faction = Globals.Faction.NEUTRAL
|
||||
@@ -0,0 +1 @@
|
||||
uid://do03fjsunvw1l
|
||||
@@ -0,0 +1 @@
|
||||
class_name InitSpawnsLoadedEvent extends BaseEvent
|
||||
@@ -0,0 +1 @@
|
||||
uid://beylxjygmq0pn
|
||||
Reference in New Issue
Block a user