mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 14:28:43 +00:00
WIP: Minor fixes
This commit is contained in:
@@ -7,6 +7,8 @@ import java.util.Map;
|
|||||||
import seng302.gameServer.server.messages.BoatAction;
|
import seng302.gameServer.server.messages.BoatAction;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import seng302.gameServer.server.messages.MarkRoundingMessage;
|
||||||
|
import seng302.gameServer.server.messages.Message;
|
||||||
import seng302.model.Player;
|
import seng302.model.Player;
|
||||||
import seng302.model.Yacht;
|
import seng302.model.Yacht;
|
||||||
import seng302.model.mark.MarkOrder;
|
import seng302.model.mark.MarkOrder;
|
||||||
@@ -17,7 +19,13 @@ import seng302.model.mark.MarkOrder;
|
|||||||
*/
|
*/
|
||||||
public class GameState implements Runnable {
|
public class GameState implements Runnable {
|
||||||
|
|
||||||
private Logger logger = LoggerFactory.getLogger(MarkOrder.class);
|
@FunctionalInterface
|
||||||
|
interface MarkPassingListener {
|
||||||
|
|
||||||
|
void markPassing(Message message);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Logger logger = LoggerFactory.getLogger(GameState.class);
|
||||||
|
|
||||||
private static Integer STATE_UPDATES_PER_SECOND = 60;
|
private static Integer STATE_UPDATES_PER_SECOND = 60;
|
||||||
public static Integer MAX_PLAYERS = 8;
|
public static Integer MAX_PLAYERS = 8;
|
||||||
@@ -34,6 +42,8 @@ public class GameState implements Runnable {
|
|||||||
private static MarkOrder markOrder;
|
private static MarkOrder markOrder;
|
||||||
private static long startTime;
|
private static long startTime;
|
||||||
|
|
||||||
|
private static List<MarkPassingListener> markListeners;
|
||||||
|
|
||||||
private static Map<Player, String> playerStringMap = new HashMap<>();
|
private static Map<Player, String> playerStringMap = new HashMap<>();
|
||||||
/*
|
/*
|
||||||
Ideally I would like to make this class an object instantiated by the server and given to
|
Ideally I would like to make this class an object instantiated by the server and given to
|
||||||
@@ -53,13 +63,13 @@ public class GameState implements Runnable {
|
|||||||
yachts = new HashMap<>();
|
yachts = new HashMap<>();
|
||||||
players = new ArrayList<>();
|
players = new ArrayList<>();
|
||||||
GameState.hostIpAddress = hostIpAddress;
|
GameState.hostIpAddress = hostIpAddress;
|
||||||
players = new ArrayList<>();
|
;
|
||||||
currentStage = GameStages.LOBBYING;
|
currentStage = GameStages.LOBBYING;
|
||||||
isRaceStarted = false;
|
isRaceStarted = false;
|
||||||
//set this when game stage changes to prerace
|
//set this when game stage changes to prerace
|
||||||
previousUpdateTime = System.currentTimeMillis();
|
previousUpdateTime = System.currentTimeMillis();
|
||||||
yachts = new HashMap<>();
|
|
||||||
markOrder = new MarkOrder(); //This could be instantiated at some point with a select map?
|
markOrder = new MarkOrder(); //This could be instantiated at some point with a select map?
|
||||||
|
markListeners = new ArrayList<>();
|
||||||
|
|
||||||
new Thread(this).start(); //Run the auto updates on the game state
|
new Thread(this).start(); //Run the auto updates on the game state
|
||||||
}
|
}
|
||||||
@@ -215,4 +225,12 @@ public class GameState implements Runnable {
|
|||||||
System.out.println("Lng: " + playerYacht.getLocation().getLng());
|
System.out.println("Lng: " + playerYacht.getLocation().getLng());
|
||||||
System.out.println("-----------------------\n");
|
System.out.println("-----------------------\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void addMarkPassListener(MarkPassingListener listener) {
|
||||||
|
markListeners.add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void removeMarkPassListenr(MarkPassingListener listener) {
|
||||||
|
markListeners.remove(listener);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Timer;
|
import java.util.Timer;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
import seng302.gameServer.server.messages.Message;
|
||||||
import seng302.model.Player;
|
import seng302.model.Player;
|
||||||
import seng302.model.PolarTable;
|
import seng302.model.PolarTable;
|
||||||
|
|
||||||
@@ -88,6 +89,12 @@ public class MainServerThread extends Observable implements Runnable, ClientConn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void broadcastMessage(Message message) {
|
||||||
|
for (ServerToClientThread serverToClientThread : serverToClientThreads) {
|
||||||
|
serverToClientThread.sendMessage(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void serverLog(String message, int logLevel){
|
static void serverLog(String message, int logLevel){
|
||||||
if(logLevel <= LOG_LEVEL){
|
if(logLevel <= LOG_LEVEL){
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class MarkRoundingMessage extends Message{
|
|||||||
*/
|
*/
|
||||||
public MarkRoundingMessage(int ackNumber, int raceId, int sourceId, RoundingBoatStatus roundingBoatStatus,
|
public MarkRoundingMessage(int ackNumber, int raceId, int sourceId, RoundingBoatStatus roundingBoatStatus,
|
||||||
RoundingSide roundingSide, MarkType markType, int markId) {
|
RoundingSide roundingSide, MarkType markType, int markId) {
|
||||||
this.time = System.currentTimeMillis() / 1000L;
|
this.time = System.currentTimeMillis();
|
||||||
this.ackNumber = ackNumber;
|
this.ackNumber = ackNumber;
|
||||||
this.raceId = raceId;
|
this.raceId = raceId;
|
||||||
this.sourceId = sourceId;
|
this.sourceId = sourceId;
|
||||||
|
|||||||
Reference in New Issue
Block a user