public GameManagementState(GameManagementStatus status, long playerKey, ApiShipMatter shipMatter, ApiCreateGameResponse creationResponse, ApiGameResponse gameResponse, ApiInfoResponse infoResponse, V managementMenuPosition, long countdownTicks) { Status = status; PlayerKey = playerKey; ShipMatter = shipMatter; CreationResponse = creationResponse; GameResponse = gameResponse; InfoResponse = infoResponse; ManagementMenuPosition = managementMenuPosition; CountdownTicks = countdownTicks; }
private static ComputerCommand <OsState> ReceiveGameInfo(OsState osState, ApiInfoResponse response, PlanetWarsState state) { if (response.SuccessFlag == 0) { return(osState.Error()); } state.GameLog = response.Log; if (state.Universe != null) { var players = response.Players; var me = players.Filter(p => p.Role == state.MyRole).Head(); state.TotalScore = me.Score + state.TotalScore; state.GameResultStatus = me.Status; state.Status = PlanetWarsStatus.FinalUniverseShowed; return(RenderUI(osState, state)); } state.Status = PlanetWarsStatus.ReplayStarted; var log = state.GameLog; var tick = log.Ticks.Head(); state.Universe = new ApiUniverse(0, state.GameLog.Planet, tick.Ships); return(RenderUI(osState, state)); }