Cursor example
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
class_name BattleScene extends Node3D
|
||||
|
||||
@export var actionBox:ActionBox = null
|
||||
@export var battleCursor:BattleCursor = null
|
||||
@export var battleFighterScenes:Node
|
||||
|
||||
signal neverEmitted
|
||||
|
||||
@@ -35,7 +37,8 @@ func getBattleDecisions(fighters:Array[BattleFighter]) -> Array[BattleDecision]:
|
||||
elif action == ActionBox.Action.ATTACK:
|
||||
var targets = await _getTargets(fighter, fighter.movePrimary)
|
||||
|
||||
actionBox.visible = false
|
||||
# Get cursor
|
||||
|
||||
|
||||
if decision != null:
|
||||
decisions.append(decision)
|
||||
@@ -45,5 +48,20 @@ func getBattleDecisions(fighters:Array[BattleFighter]) -> Array[BattleDecision]:
|
||||
|
||||
func _getTargets(fighter:BattleFighter, move:BattleAction) -> Array[BattleFighter]:
|
||||
print("Determining target")
|
||||
|
||||
battleCursor.visible = true
|
||||
var positions:Array[BattleSingleton.BattlePosition] = []
|
||||
for pos in BATTLE.BattlePosition.values():
|
||||
positions.append(pos)
|
||||
battleCursor.setCursors(self, positions)
|
||||
|
||||
await neverEmitted
|
||||
return []
|
||||
return []
|
||||
|
||||
func getFighterSceneAtPosition(pos:BattleSingleton.BattlePosition) -> BattleFighterScene:
|
||||
for fighterScene in battleFighterScenes.get_children():
|
||||
if !(fighterScene is BattleFighterScene):
|
||||
continue
|
||||
if fighterScene.battlePosition == pos:
|
||||
return fighterScene
|
||||
return null
|
||||
|
||||
Reference in New Issue
Block a user