package Factory.GameLogic.GameActors; import EnvironmentPluginAPI.Service.ICycleReplay; import Factory.GameLogic.TransportTypes.TGameReplay; import Factory.GameLogic.TransportTypes.TGameState; import Factory.Interfaces.IHasTransportType; import java.util.Date; import java.util.List; import java.util.UUID; /** * Created with IntelliJ IDEA. * User: TwiG * Date: 27.05.12 * Time: 14:44 * To change this template use File | Settings | File Templates. */ public class GameReplay implements IHasTransportType<ICycleReplay>, java.io.Serializable { // ------------------------------ FIELDS ------------------------------ private UUID replayID; public UUID getReplayID() { return replayID; } //public AbstractReplay(DateTime replayDate, List<String> players, String winningPlayer, int numberOfTurns) { private final Date replayDate; public Date getReplayDate() { return replayDate; } private final List<String> players; public List<String> getPlayers() { return players; } private final String winningPlayer; public String getWinningPlayer() { return winningPlayer; } private final int numberOfTurns; public int getNumberOfTurns() { return numberOfTurns; } private List<TGameState> gameStatesPerTurn; public List<TGameState> getGameStatesPerTurn() { return gameStatesPerTurn; } // --------------------------- CONSTRUCTORS --------------------------- public GameReplay(Date replayDate, List<String> players, String winningPlayer, int numberOfTurns, List<TGameState> gameStates) { this.replayID = UUID.randomUUID(); this.replayDate = replayDate; this.players = players; this.winningPlayer = winningPlayer; this.numberOfTurns = numberOfTurns; this.gameStatesPerTurn = gameStates; } // ------------------------ INTERFACE METHODS ------------------------ // --------------------- Interface IHasTransportType --------------------- @Override public ICycleReplay getTransportType() { return new TGameReplay(this.replayID, this.replayDate, this.players, this.winningPlayer, this.numberOfTurns, gameStatesPerTurn); } }