コード例 #1
0
 private static void SendMessageToQueue(GameUpdateResult gamedetails)
 {
     using (IQueueConnector queueConnector = new AzureServiceBusConnector())
     {
         queueConnector.SendMessage(gamedetails);
     }
 }
コード例 #2
0
        private GameUpdateResult ConvertResponse(LiveScoresResult response)
        {
            var result = new GameUpdateResult();

            if (response.data.match.Count > 0)
            {
                result.Contests = new List <Contest>();
            }

            foreach (var match in response.data.match)
            {
                Contest contest = new Contest()
                {
                    CompetitionName = match.competition_name,
                    GameStartDate   = DateTime.Parse(match.scheduled),
                    SportType       = "Soccer",
                    HomeTeam        = match.home_name,
                    AwayTeam        = match.away_name
                };

                result.Contests.Add(contest);
            }

            return(result);
        }
コード例 #3
0
        public override StateChangeInformation OnUpdate(float elapsedTime)
        {
            base.OnUpdate(elapsedTime);

            const float timePerDot = 0.33f;

            _elapsed += elapsedTime;
            if (_elapsed > timePerDot)
            {
                _elapsed -= timePerDot;
                if (++_dotCount == 4)
                {
                    _dotCount = 0;
                }
            }

            _updateResult = _gameExecution.Update(elapsedTime);

            switch (_updateResult)
            {
            case GameUpdateResult.SwitchToGame:
                return(StateChangeInformation.StateChange(typeof(MatchState), typeof(GrowTransition), _gameExecution));

            case GameUpdateResult.ServerShutdown:
                return(StateChangeInformation.StateChange(typeof(MainMenuState), typeof(BlendTransition), true));
            }

            return(StateChangeInformation.Empty);
        }
コード例 #4
0
 private void HandleSynchronizeStart(float elapsedTime)
 {
     RemainingStartupTime -= elapsedTime;
     if (RemainingStartupTime <= 0)
     {
         State         = GameSessionState.InGame;
         _updateResult = GameUpdateResult.SwitchToGame;
     }
 }
コード例 #5
0
 private void HandleMatchedFinishedMessage(MatchFinishedMessage msg)
 {
     foreach (MatchPlayerInformation p in msg.Players)
     {
         GameMember member = _members.First(c => c.Id == p.Id);
         member.Wins          = p.Wins;
         member.IsMatchWinner = p.IsMatchWinner;
     }
     CurrentMatchResultType = msg.ResultType;
     _updateResult          = GameUpdateResult.MatchFinished;
     State = InGameState.MatchResult;
 }
コード例 #6
0
        private void HandleInGame(float elapsedTime)
        {
            var resulType = _currentLevel.Update(elapsedTime);

            if (resulType == MatchResultType.None)
            {
                return;
            }

            CurrentMatchResultType = resulType;
            _updateResult          = GameUpdateResult.MatchFinished;
            State = GameSessionState.MatchResult;
        }
コード例 #7
0
        public GameUpdateResult Update(float elapsedTime)
        {
            _updateResult = GameUpdateResult.None;

            switch (State)
            {
            case GameSessionState.PreparingMatchLoadData:
                HandlePrepareMatch();
                break;

            case GameSessionState.PreparingMatchSynchronizeStart:
                HandleSynchronizeStart(elapsedTime);
                break;

            case GameSessionState.InGame:
                HandleInGame(elapsedTime);
                break;
            }

            return(_updateResult);
        }
コード例 #8
0
        public GameUpdateResult Update(float elapsed)
        {
            _updateResult = GameUpdateResult.None;

            return(_updateResult);
        }