public async Task <IResponse> Process(IRequest request)
        {
            try
            {
                CanStartRoundRequest  csr      = request as CanStartRoundRequest;
                CanStartRoundResponse response = new CanStartRoundResponse();

                if (csr.GameSessionId != Guid.Empty)
                {
                    //Compute actor id for user name
                    ActorId gamesessionid = new ActorId(csr.GameSessionId);
                    var     sessionproxy  = gamesessionid.Proxy <ITankGameSession>();
                    bool    canstart      = await sessionproxy.CanStartRound(csr.RoundNo);

                    response = new CanStartRoundResponse(csr.GameSessionId, canstart, csr.RoundNo);
                    return(response);
                }
                return(response);
            }
            catch (Exception E)
            {
                E.Log();
                ErrorResponse errorresponse = new ErrorResponse(E.Message);
                return(errorresponse);
            }
        }
Beispiel #2
0
        public void CanStartRound(int roundnum)
        {
            CanStartRoundRequest csr = new CanStartRoundRequest(this._CurrentGameSessionId, roundnum);

            m_client.Invoke("Exec", csr.CreateRequest(RequestProcessorEnum.GetCanStartRound, _UserId).Serialize());
        }