This commit is contained in:
2026-01-17 13:59:18 -06:00
parent c46afdac76
commit fbc4e070da
10 changed files with 145 additions and 52 deletions

View File

@@ -37,29 +37,31 @@ static func playerDecisionCallable(_params:Dictionary) -> int:
print("All enemies defeated! Victory!")
assert(false)
# OK we are actually fighting.
# Determine fighters and whether they're AI or player controlled
var playerFighters:Array[BattleFighter] = []
var aiFighters:Array[BattleFighter] = []
for fighter:BattleFighter in BATTLE.fighterMap.values():
if !fighter || !fighter.canPlayerMakeDecision():
continue
playerFighters.append(fighter)
for fighter:BattleFighter in BATTLE.fighterMap.values():
if !fighter || !fighter.canMakeDecision():
continue
if fighter in playerFighters:
continue
aiFighters.append(fighter)
# Get decisions
var decisions:Array[BattleDecision] = []
var playerDecisions = await BATTLE.battleScene.getBattleDecisions(playerFighters)
decisions.append_array(playerDecisions)
for fighter:BattleFighter in BATTLE.fighterMap.values():
if !fighter || !fighter.isPlayerControlled():
continue
# Handle player decision
BATTLE.battleScene.actionBox.visible = true
var decision = await BATTLE.battleScene.actionBox.decisionMade
BATTLE.battleScene.actionBox.visible = false
if decision == null:
continue
decisions.append(decision)
# AI decisions
for fighter:BattleFighter in BATTLE.fighterMap.values():
if !fighter || fighter.isPlayerControlled():
continue
for fighter in aiFighters:
var decision = fighter.getAIDecision()
if decision == null:
continue
decisions.append(decision)
if decision != null:
decisions.append(decision)
# Here I could do something like cutscene specific logic?