package com.kolakcc.loljclient.model; import java.util.ArrayList; import com.gvaneyck.rtmp.encoding.TypedObject; import com.kolakcc.loljclient.util.TOUtils; public class CustomGameDetailed extends ModelFromTO { //TODO: group this and customgamelistitem under game String name; String gameMode; int ID; String allowSpectators; int spectatorCount; int gameMapID; int maxPlayers; ArrayList<CustomGamePlayer> team1; ArrayList<CustomGamePlayer> team2; boolean passwordSet; String gameType; int gameTypeConfigID; String gameState; Object statusOfParticipants; int dataVersion; String roomName; int spectatorDelay; String terminatedCondition; String queueTypeName; Object passbackURL; double optimisticLock; String roomPassword; int queuePosition; Object futureData; double expiryTime; int mapID; int pickTurn; ArrayList<PlayerChampionSelection> playerChampionSelections; CustomGamePlayer owner; Object passbackDataPacket; String gameModeString; Object glmGameID; Object glmHost; Object glmPort; Object glmSecurePort; int joinTimerDuration; TypedObject[] observers, bannedChampions, banOrder; public CustomGameDetailed(TypedObject to) { super(to); team1 = new ArrayList<CustomGamePlayer>(); for (TypedObject teamPlayer : TOUtils.ArrayToTOArray(getArray("teamOne"))) { this.team1.add(new CustomGamePlayer(teamPlayer)); } team2 = new ArrayList<CustomGamePlayer>(); for (TypedObject teamPlayer : TOUtils.ArrayToTOArray(getArray("teamTwo"))) { team2.add(new CustomGamePlayer(teamPlayer)); } glmGameID = getObject("glmGameId"); glmHost = getObject("glmHost"); glmPort = getObject("glmPort"); allowSpectators = getString("spectatorsAllowed"); maxPlayers = getInt("maxNumPlayers"); glmSecurePort = getInt("glmSecurePort"); gameMode = getString("gameMode"); ID = getInt("id"); name = getString("name"); passwordSet = getBool("passwordSet"); allowSpectators = getString("spectatorsAllowed"); gameType = getString("gameType"); gameTypeConfigID = getInt("gameTypeConfigId"); gameState = getString("gameState"); statusOfParticipants = getProbablyNull("statusOfParticipants"); dataVersion = getInt("dataVersion"); roomName = getString("roomName"); spectatorDelay = getInt("spectatorDelay"); terminatedCondition = getString("terminatedCondition"); queueTypeName = getString("queueTypeName"); passbackURL = getProbablyNull("passbackUrl"); optimisticLock = getDouble("optimisticLock"); roomPassword = getString("roomPassword"); queuePosition = getInt("queuePosition"); futureData = getProbablyNull("futureData"); expiryTime = getDouble("expiryTime"); //TODO: fix seconds System.out.printf("Time left: %d minutes and %f seconds %n", Math.round(expiryTime/60/1000), (expiryTime % (60*1000))/1000); mapID = getInt("mapId"); pickTurn = getInt("pickTurn"); gameState = getString("gameStateString"); passbackDataPacket = getProbablyNull("passbackDataPacket"); playerChampionSelections = new ArrayList<PlayerChampionSelection>(); for (TypedObject pcs : getArray("playerChampionSelections")) { playerChampionSelections.add(new PlayerChampionSelection(pcs)); } owner = new CustomGamePlayer(getTO("ownerSummary")); observers = getArray("observers"); bannedChampions = getArray("bannedChampions"); //banOrder = getArray("banOrder"); joinTimerDuration = getInt("joinTimerDuration"); checkFields(); } public ArrayList<CustomGamePlayer> getTeam1() { return team1; } public ArrayList<CustomGamePlayer> getTeam2() { return team2; } public String getName() { return name; } public String getGameMode() { return gameMode; } public int getID() { return ID; } public String getAllowSpectators() { return allowSpectators; } public int getSpectatorCount() { return spectatorCount; } public int getGameMapID() { return gameMapID; } public int getMaxPlayers() { return maxPlayers; } public boolean isPasswordSet() { return passwordSet; } public String getGameType() { return gameType; } public int getGameTypeConfigID() { return gameTypeConfigID; } public String getGameState() { return gameState; } public Object getStatusOfParticipants() { return statusOfParticipants; } public int getDataVersion() { return dataVersion; } public String getRoomName() { return roomName; } public int getSpectatorDelay() { return spectatorDelay; } public String getTerminatedCondition() { return terminatedCondition; } public String getQueueTypeName() { return queueTypeName; } public Object getPassbackURL() { return passbackURL; } public double getOptimisticLock() { return optimisticLock; } public String getRoomPassword() { return roomPassword; } public int getQueuePosition() { return queuePosition; } public Object getFutureData() { return futureData; } public double getExpiryTime() { return expiryTime; } public int getMapID() { return mapID; } public int getPickTurn() { return pickTurn; } public ArrayList<PlayerChampionSelection> getPlayerChampionSelections() { return playerChampionSelections; } public CustomGamePlayer getOwner() { return owner; } public Object getPassbackDataPacket() { return passbackDataPacket; } public String getGameModeString() { return gameModeString; } public Object getGlmGameID() { return glmGameID; } public Object getGlmHost() { return glmHost; } public Object getGlmPort() { return glmPort; } public Object getGlmSecurePort() { return glmSecurePort; } }