Use FastAPI interface for the front lines.

Can't submit yet because there's no way to uniquely identify front-
lines, so no way to update these as they change.
This commit is contained in:
Dan Albert 2022-03-03 00:11:40 -08:00
parent e5f4974e9a
commit 8d806def5b
2 changed files with 8 additions and 20 deletions

View File

@ -15,7 +15,6 @@ from game.theater import (
from qt_ui.models import GameModel from qt_ui.models import GameModel
from qt_ui.windows.GameUpdateSignal import GameUpdateSignal from qt_ui.windows.GameUpdateSignal import GameUpdateSignal
from .controlpointjs import ControlPointJs from .controlpointjs import ControlPointJs
from .frontlinejs import FrontLineJs
from .groundobjectjs import GroundObjectJs from .groundobjectjs import GroundObjectJs
from .supplyroutejs import SupplyRouteJs from .supplyroutejs import SupplyRouteJs
@ -44,7 +43,6 @@ class MapModel(QObject):
controlPointsChanged = Signal() controlPointsChanged = Signal()
groundObjectsChanged = Signal() groundObjectsChanged = Signal()
supplyRoutesChanged = Signal() supplyRoutesChanged = Signal()
frontLinesChanged = Signal()
mapReset = Signal() mapReset = Signal()
def __init__(self, game_model: GameModel) -> None: def __init__(self, game_model: GameModel) -> None:
@ -54,7 +52,6 @@ class MapModel(QObject):
self._control_points = [] self._control_points = []
self._ground_objects = [] self._ground_objects = []
self._supply_routes = [] self._supply_routes = []
self._front_lines = []
GameUpdateSignal.get_instance().game_loaded.connect(self.on_game_load) GameUpdateSignal.get_instance().game_loaded.connect(self.on_game_load)
self.reset() self.reset()
@ -63,7 +60,6 @@ class MapModel(QObject):
self._control_points = [] self._control_points = []
self._supply_routes = [] self._supply_routes = []
self._ground_objects = [] self._ground_objects = []
self._front_lines = []
self.cleared.emit() self.cleared.emit()
def reset(self) -> None: def reset(self) -> None:
@ -74,7 +70,6 @@ class MapModel(QObject):
self.reset_control_points() self.reset_control_points()
self.reset_ground_objects() self.reset_ground_objects()
self.reset_routes() self.reset_routes()
self.reset_front_lines()
self.mapReset.emit() self.mapReset.emit()
def on_game_load(self, game: Optional[Game]) -> None: def on_game_load(self, game: Optional[Game]) -> None:
@ -161,14 +156,6 @@ class MapModel(QObject):
def supplyRoutes(self) -> List[SupplyRouteJs]: def supplyRoutes(self) -> List[SupplyRouteJs]:
return self._supply_routes return self._supply_routes
def reset_front_lines(self) -> None:
self._front_lines = [FrontLineJs(f) for f in self.game.theater.conflicts()]
self.frontLinesChanged.emit()
@Property(list, notify=frontLinesChanged)
def frontLines(self) -> List[FrontLineJs]:
return self._front_lines
@property @property
def game(self) -> Game: def game(self) -> Game:
if self.game_model.game is None: if self.game_model.game is None:

View File

@ -255,7 +255,6 @@ new QWebChannel(qt.webChannelTransport, function (channel) {
game.controlPointsChanged.connect(drawControlPoints); game.controlPointsChanged.connect(drawControlPoints);
game.groundObjectsChanged.connect(drawGroundObjects); game.groundObjectsChanged.connect(drawGroundObjects);
game.supplyRoutesChanged.connect(drawSupplyRoutes); game.supplyRoutesChanged.connect(drawSupplyRoutes);
game.frontLinesChanged.connect(drawFrontLines);
game.mapReset.connect(drawAircraft); game.mapReset.connect(drawAircraft);
}); });
@ -625,12 +624,14 @@ function drawSupplyRoutes() {
function drawFrontLines() { function drawFrontLines() {
frontLinesLayer.clearLayers(); frontLinesLayer.clearLayers();
game.frontLines.forEach((front) => { getJson("/front-lines").then((frontLines) => {
L.polyline(front.extents, { weight: 8, color: "#fe7d0a" }) for (const front of frontLines) {
.on("contextmenu", function () { L.polyline(front.extents, { weight: 8, color: "#fe7d0a" })
front.showPackageDialog(); .on("contextmenu", function () {
}) front.showPackageDialog();
.addTo(frontLinesLayer); })
.addTo(frontLinesLayer);
}
}); });
} }