Skip to content

Commit e7724e1

Browse files
committed
Use pre-Java 11 syntax to be compatible with GWT 2.11.0 (which is to be compatible with GDX GWT backend)
1 parent 741049c commit e7724e1

42 files changed

Lines changed: 636 additions & 132 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.run/Run Web App.run.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
<RunAsTest>false</RunAsTest>
2222
<method v="2" />
2323
</configuration>
24-
</component>
24+
</component>

core/src/main/java/io/streamlines/GameLoop.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ public void nextStage() {
259259
gameState = GameStates.SERVER_INITIALIZATION;
260260
lobbyUI.getStage().stopInput();
261261
} else if (gameState == GameStates.SERVER_INITIALIZATION) {
262-
var usernameInfo = new PlayerNameDto(lobbyUI.getUsername());
262+
PlayerNameDto usernameInfo = new PlayerNameDto(lobbyUI.getUsername());
263263
gameClient.broadcast(Packet.PacketType.PLAYER_NAME, usernameInfo);
264264
gameState = GameStates.ASSET_INITIALIZATION;
265265
} else {

core/src/main/java/io/streamlines/Main.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,15 @@ public void refresh(String widget) {
108108

109109
final float AIRPORT_SIZE = 256f;
110110

111+
private Color getAirportColorFromWeather(WeatherEventSeverity status) {
112+
switch (status) {
113+
case FINE: return Color.WHITE;
114+
case DISASTER: return Color.RED;
115+
case INCONVENIENCE: return Color.YELLOW;
116+
default: throw new IllegalArgumentException("Unknown status " + status);
117+
}
118+
}
119+
111120
boolean wasHoveringAirport = false;
112121
@Override
113122
public void draw() {
@@ -125,11 +134,7 @@ public void draw() {
125134
for (Airport a : getGameMap().getAirports()) {
126135
// Draw airport
127136
WeatherEventSeverity status = a.getWeatherStatus();
128-
Color airportColor = switch (status) {
129-
case FINE -> Color.WHITE;
130-
case DISASTER -> Color.RED;
131-
case INCONVENIENCE -> Color.YELLOW;
132-
};
137+
Color airportColor = getAirportColorFromWeather(status);
133138

134139
getSpriteBatch().setColor(airportColor);
135140

@@ -206,13 +211,14 @@ private void drawAirportInfo(Airport a, int panelWidth, boolean screenOverflow)
206211

207212
@Override
208213
public void update() {
209-
if (gameClient == null || gameClient.getPlayer().getName().isBlank()) return;
214+
if (gameClient == null || gameClient.getPlayer().getName().trim().isEmpty()) return;
210215

211216
for (PathService r : gameClient.getPlayer().getPaths()) {
212217
// Check if planes need updated info
213218
for (Airplane a : r.getPlanes()) {
214219
if (a.requiresPassengerUpdate()) {
215-
var dto = new RequestPassengerCountDto(a.getId(), gameClient.getPlayer().getId());
220+
RequestPassengerCountDto dto = new RequestPassengerCountDto(a.getId(),
221+
gameClient.getPlayer().getId());
216222
gameClient.broadcast(Packet.PacketType.REQUEST_PASSENGER_COUNT, dto);
217223
a.acknowledgePassengerUpdate();
218224
}

core/src/main/java/io/streamlines/RouteManager.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ public void execute() {
5454
PathService path = clientPlayer.createPath(routeBuilderStart, routeBuilderEnd);
5555
if (path != null) {
5656
if (path.getFirstPlane() != null) {
57-
var dto = new NewPathDto(clientPlayer.getId(), path.getId(), routeBuilderStart.getId(),
57+
NewPathDto dto = new NewPathDto(clientPlayer.getId(), path.getId(), routeBuilderStart.getId(),
5858
routeBuilderEnd.getId(), path.getFirstPlane().getId());
5959
dto.apply(gameMap, true);
6060
broadcaster.broadcast(Packet.PacketType.NEW_PATH, dto);
6161
} else {
62-
var dto = new NewPathDto(clientPlayer.getId(), path.getId(), routeBuilderStart.getId(),
62+
NewPathDto dto = new NewPathDto(clientPlayer.getId(), path.getId(), routeBuilderStart.getId(),
6363
routeBuilderEnd.getId());
6464
dto.apply(gameMap, true);
6565
broadcaster.broadcast(Packet.PacketType.NEW_PATH, dto);
@@ -92,7 +92,7 @@ public void prepare() {
9292
@Override
9393
public void execute() {
9494
if (selectedPath == null) return;
95-
var dto = new EditPathDto(
95+
EditPathDto dto = new EditPathDto(
9696
clientPlayer.getId(), selectedPath.getId(), routeBuilderStart.getId(), routeBuilderEnd.getId()
9797
);
9898
dto.apply(gameMap, true);
@@ -245,7 +245,7 @@ public void prepare() {
245245
}
246246

247247
private void handleAirplanePlacement(PathService r) {
248-
var data = new AirplaneUserInventoryActionDto(clientPlayer.getId(), Airplane.generateNewId(), userCursor, r.getId(),
248+
AirplaneUserInventoryActionDto data = new AirplaneUserInventoryActionDto(clientPlayer.getId(), Airplane.generateNewId(), userCursor, r.getId(),
249249
InventoryItemType.Place_Airplane);
250250
broadcaster.broadcast(Packet.PacketType.AIRPLANE_USER_INVENTORY_ACTION, data);
251251
data.apply(gameMap, false);
@@ -257,7 +257,7 @@ public void run(GameMapAccessible map, MainGameUI mainGame, InventoryItemType se
257257
}
258258
if (Gdx.input.isKeyJustPressed(Input.Keys.D) && selectedPath != null) {
259259
map.getAirports().stream().filter(ScreenGraphicUtils::isHoveringOver).findFirst().ifPresent(a -> {
260-
var dto = new RemovePathDto(selectedPath.getId(), a.getId(), clientPlayer.getId());
260+
RemovePathDto dto = new RemovePathDto(selectedPath.getId(), a.getId(), clientPlayer.getId());
261261
if (dto.apply(gameMap, true)) {
262262
mainGame.refresh();
263263
broadcaster.broadcast(Packet.PacketType.PATH_RMV, dto);

core/src/main/java/io/streamlines/UI/AirportUI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public AirportUI() {
3131
private void bidOn(int term, Client gameClient) {
3232
Terminal terminal = airportToRepresent.getTerminals()[term];
3333
StreamlinesLogger.logger.info("Bidding","Sending terminal bid for " + terminal.getId());
34-
var dto = new NewBidDto(terminal.getId(), gameClient.getPlayer().getId());
34+
NewBidDto dto = new NewBidDto(terminal.getId(), gameClient.getPlayer().getId());
3535
if (!dto.apply(gameClient.getGameMap(), true)) {
3636
LogMessage.setMessage("Bid was unsuccessful");
3737
return;

core/src/main/java/io/streamlines/UI/CursorManager.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.streamlines.UI;
22

33
import com.badlogic.gdx.Gdx;
4-
import com.badlogic.gdx.graphics.*;
4+
import com.badlogic.gdx.graphics.Cursor;
55

66
public class CursorManager {
77
private static CursorManager singleton; public static CursorManager get() { return singleton; }
@@ -18,11 +18,17 @@ public void setCursorState(CursorState state) {
1818
this.state = state;
1919

2020
// Update cursor graphics
21-
Gdx.graphics.setSystemCursor(switch (state) {
22-
case NO_STATE -> Cursor.SystemCursor.Arrow;
23-
case HOVERING -> Cursor.SystemCursor.Hand;
24-
case SCROLL -> Cursor.SystemCursor.VerticalResize;
25-
});
21+
switch (state) {
22+
case NO_STATE:
23+
Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow);
24+
break;
25+
case HOVERING:
26+
Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Hand);
27+
break;
28+
case SCROLL:
29+
Gdx.graphics.setSystemCursor(Cursor.SystemCursor.VerticalResize);
30+
break;
31+
}
2632
}
2733

2834
public CursorState getCursorState() {

core/src/main/java/io/streamlines/UI/DoubleQuotaUI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void refresh() {
8080
public void clicked(InputEvent event, float x, float y) {
8181
StreamlinesLogger.logger.info("DOUBLE QUOTA UI", "Chosen Item: " + curItem + " (end of" +
8282
" double quota exchange)");
83-
var dto = new SurpassedChoseDto(client.getPlayer().getId(), curItem);
83+
SurpassedChoseDto dto = new SurpassedChoseDto(client.getPlayer().getId(), curItem);
8484
client.broadcast(Packet.PacketType.SURPASSED_CHOSE, dto);
8585
dto.apply(client.getGameMap(), true);
8686
close();

core/src/main/java/io/streamlines/UI/MainGameUI.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ private StaticVisTable sidebar() {
198198
releaseButton.addListener(new ClickListener() {
199199
@Override
200200
public void clicked(InputEvent event, float x, float y) {
201-
var dto = new GambleTerminalDto(item.getOwner(), item.getAirportId(), false);
201+
GambleTerminalDto dto = new GambleTerminalDto(item.getOwner(), item.getAirportId(), false);
202202
dto.apply(client.getGameMap(), true);
203203
client.broadcast(Packet.PacketType.GAMBLE_TERMINAL, dto);
204204
refresh();
@@ -212,7 +212,7 @@ public void clicked(InputEvent event, float x, float y) {
212212
keepButton.addListener(new ClickListener() {
213213
@Override
214214
public void clicked(InputEvent event, float x, float y) {
215-
var dto = new GambleTerminalDto(client.getPlayer().getId(), item.getAirportId(), true);
215+
GambleTerminalDto dto = new GambleTerminalDto(client.getPlayer().getId(), item.getAirportId(), true);
216216
dto.apply(client.getGameMap(), true);
217217
client.broadcast(Packet.PacketType.GAMBLE_TERMINAL, dto);
218218
refresh();
@@ -313,7 +313,7 @@ public void notifySelection(Object data) {
313313
client.broadcast(Packet.PacketType.TERMINAL_USER_INVENTORY_ACTION, dto);
314314
} else if (selectedInventoryItemType == InventoryItemType.Expand_Airplane) {
315315
if (!(data instanceof Airplane planeObj)) return;
316-
var dto = new AirplaneUserInventoryActionDto(
316+
AirplaneUserInventoryActionDto dto = new AirplaneUserInventoryActionDto(
317317
client.getPlayer().getId(),
318318
planeObj.getId(),
319319
planeObj.getLocation(),
@@ -323,14 +323,14 @@ public void notifySelection(Object data) {
323323
client.broadcast(Packet.PacketType.AIRPLANE_USER_INVENTORY_ACTION, dto);
324324
} else if (selectedInventoryItemType == InventoryItemType.Resilience) {
325325
if (!(data instanceof Airplane planeObj)) return;
326-
var dto = new AirplaneUserInventoryActionDto(
326+
AirplaneUserInventoryActionDto dto = new AirplaneUserInventoryActionDto(
327327
client.getPlayer().getId(), planeObj.getId(), planeObj.getLocation(), "", InventoryItemType.Resilience
328328
);
329329
dto.apply(client.getGameMap(), true);
330330
client.broadcast(Packet.PacketType.AIRPLANE_USER_INVENTORY_ACTION, dto);
331331
} else if (selectedInventoryItemType == InventoryItemType.Top_Dog) {
332332
if (!(data instanceof PlaceAirplaneCommand placeAirplaneCommand)) return;
333-
var dto = new TopDogPlaceAirplaneDto(placeAirplaneCommand.getPlane().getId(),
333+
TopDogPlaceAirplaneDto dto = new TopDogPlaceAirplaneDto(placeAirplaneCommand.getPlane().getId(),
334334
placeAirplaneCommand.getPath().getId(), placeAirplaneCommand.getPlane().getOwner());
335335
dto.apply(client.getGameMap(), true);
336336
client.broadcast(Packet.PacketType.TOP_DOG_PLACE_AIRPLANE, dto);

core/src/main/java/io/streamlines/network/Client.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public boolean onMessage(final WebSocket webSocket, final String packet) {
156156
handleSurpassedPrompt(packet);
157157
break;
158158
case NEW_BID:
159-
var newBidDto = json.fromJson(NewBidDto.class, packet);
159+
NewBidDto newBidDto = json.fromJson(NewBidDto.class, packet);
160160
gameMap.getAirportById(newBidDto.terminalId().substring(0, 3))
161161
.findTerminalById(newBidDto.terminalId())
162162
.ifPresent(item -> {
@@ -169,12 +169,12 @@ public boolean onMessage(final WebSocket webSocket, final String packet) {
169169
newBidDto.apply(gameMap, true);
170170
break;
171171
case TOP_DOG_IDENTIFY:
172-
var dto = json.fromJson(SetTopDogDto.class, packet);
172+
SetTopDogDto dto = json.fromJson(SetTopDogDto.class, packet);
173173
dto.apply(gameMap, true);
174174
LogMessage.setMessage(gameMap.getPlayer(dto.playerId()).getName() + " is Top Dog!");
175175
break;
176176
case TOP_DOG_PLACE_ROUTE:
177-
var topDogPlaceRouteDto = json.fromJson(TopDogPlaceRouteDto.class, packet);
177+
TopDogPlaceRouteDto topDogPlaceRouteDto = json.fromJson(TopDogPlaceRouteDto.class, packet);
178178
topDogPlaceRouteDto.apply(gameMap, true);
179179
LogMessage.setMessage(gameMap.getPlayer(topDogPlaceRouteDto.victimId()).getName() + " stole your route!");
180180
break;
@@ -203,7 +203,7 @@ public boolean onMessage(final WebSocket webSocket, final String packet) {
203203
Gdx.app.postRunnable(() -> gameLoop.getWidget("stats").refresh());
204204
break;
205205
case UNASSIGNED:
206-
var unassignedDto = json.fromJson(LosePlayerDto.class, packet);
206+
LosePlayerDto unassignedDto = json.fromJson(LosePlayerDto.class, packet);
207207
LogMessage.setMessage(unassignedDto.playerId() + " has left the game!");
208208
unassignedDto.apply(gameMap, true);
209209
if(gameMap.hasEnded()) {
@@ -227,7 +227,7 @@ public boolean onMessage(final WebSocket webSocket, final String packet) {
227227
*/
228228
private void handleSurpassedPrompt(String packet) {
229229
StreamlinesLogger.logger.info("DOUBLE QUOTA UI", "Received surpassed message to start double quota");
230-
var surpassedPromptDto = json.fromJson(SurpassedPromptDto.class, packet);
230+
SurpassedPromptDto surpassedPromptDto = json.fromJson(SurpassedPromptDto.class, packet);
231231
surpassedPromptDto.powerups().forEach(gameLoop::doubleQuotaAddItem);
232232
surpassedPromptDto.infrastructure().forEach(gameLoop::doubleQuotaAddItem);
233233
Gdx.app.postRunnable(() -> gameLoop.refresh("doubleQuota"));
@@ -246,7 +246,7 @@ private void handleSurpassedPrompt(String packet) {
246246
/// @param packet The data
247247
///
248248
private void handlePidAssignment(String packet) {
249-
var dto = json.fromJson(PidAssignmentDto.class, packet);
249+
PidAssignmentDto dto = json.fromJson(PidAssignmentDto.class, packet);
250250
player = gameMap.recreatePlayer(dto.id(), dto.name(), dto.color());
251251
LogMessage.setMessage(player.getName() + " has joined the game!");
252252
Gdx.app.postRunnable(() -> {

gradle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@ org.gradle.configureondemand=false
44
# gdx backend gwt does not support v2.12.0 of GWT at the moment.
55
# If upgraded, you will get JPrimitiveType to JArrayType ClassCastException
66
# or similar AST error because it could not handle this.
7+
# GWT 2.12.0 supports records.
78
gwtFrameworkVersion=2.11.0
89
gwtPluginVersion=2.2.5
910
graalHelperVersion=2.0.1
1011
enableGraalNative=false
1112
gdxVersionNetwork=1.9.6
1213
gdxVersion=1.13.5
14+
# Below version only supports GWT version 2.11.0
15+
# https://mvnrepository.com/artifact/com.badlogicgames.gdx/gdx-backend-gwt/1.13.5
1316
gdxBackendGwt=1.13.5
1417
libVersion=1.9
1518
vertxVersion=3.4.1

0 commit comments

Comments
 (0)