コード例 #1
0
 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;
 }
コード例 #2
0
        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));
        }