Files
Dawn-Godot/battle/BattleScene.gd
2026-01-10 23:00:05 -06:00

102 lines
3.0 KiB
GDScript

class_name BattleScene extends BattleFighterScene
enum BattlePosition {
LEFT_TOP_BACK,
LEFT_TOP_FRONT,
LEFT_MIDDLE_BACK,
LEFT_MIDDLE_FRONT,
LEFT_BOTTOM_BACK,
LEFT_BOTTOM_FRONT,
RIGHT_TOP_BACK,
RIGHT_TOP_FRONT,
RIGHT_MIDDLE_BACK,
RIGHT_MIDDLE_FRONT,
RIGHT_BOTTOM_BACK,
RIGHT_BOTTOM_FRONT
}
var fighterMap:Dictionary[BattlePosition, BattleFighterScene] = {}
@export var fighterTopLeftBack:BattleFighterScene = null:
get:
return fighterMap.get(BattlePosition.LEFT_TOP_BACK, null)
set(value):
fighterMap[BattlePosition.LEFT_TOP_BACK] = value
@export var fighterTopLeftFront:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.LEFT_TOP_FRONT, null)
set(value):
fighterMap[BattlePosition.LEFT_TOP_FRONT] = value
@export var fighterMiddleLeftBack:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.LEFT_MIDDLE_BACK, null)
set(value):
fighterMap[BattlePosition.LEFT_MIDDLE_BACK] = value
@export var fighterMiddleLeftFront:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.LEFT_MIDDLE_FRONT, null)
set(value):
fighterMap[BattlePosition.LEFT_MIDDLE_FRONT] = value
@export var fighterBottomLeftBack:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.LEFT_BOTTOM_BACK, null)
set(value):
fighterMap[BattlePosition.LEFT_BOTTOM_BACK] = value
@export var fighterBottomLeftFront:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.LEFT_BOTTOM_FRONT, null)
set(value):
fighterMap[BattlePosition.LEFT_BOTTOM_FRONT] = value
@export var fighterTopRightBack:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.RIGHT_TOP_BACK, null)
set(value):
fighterMap[BattlePosition.RIGHT_TOP_BACK] = value
@export var fighterTopRightFront:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.RIGHT_TOP_FRONT, null)
set(value):
fighterMap[BattlePosition.RIGHT_TOP_FRONT] = value
@export var fighterMiddleRightBack:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.RIGHT_MIDDLE_BACK, null)
set(value):
fighterMap[BattlePosition.RIGHT_MIDDLE_BACK] = value
@export var fighterMiddleRightFront:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.RIGHT_MIDDLE_FRONT, null)
set(value):
fighterMap[BattlePosition.RIGHT_MIDDLE_FRONT] = value
@export var fighterBottomRightBack:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.RIGHT_BOTTOM_BACK, null)
set(value):
fighterMap[BattlePosition.RIGHT_BOTTOM_BACK] = value
@export var fighterBottomRightFront:BattleFighterScene:
get:
return fighterMap.get(BattlePosition.RIGHT_BOTTOM_FRONT, null)
set(value):
fighterMap[BattlePosition.RIGHT_BOTTOM_FRONT] = value
func _init() ->void:
BATTLE.battleScene = self
pass
func startBatle(fighters:Dictionary[BattlePosition, BattleFighter]) -> void:
for position in fighters.keys():
var fighterScene:BattleFighterScene = fighterMap.get(position, null)
assert(fighterScene != null)
fighterScene.setFighter(fighters[position])