Exemple #1
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonGameLiftConfig config = new AmazonGameLiftConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonGameLiftClient client = new AmazonGameLiftClient(creds, config);

            DescribePlayerSessionsResponse resp = new DescribePlayerSessionsResponse();

            do
            {
                DescribePlayerSessionsRequest req = new DescribePlayerSessionsRequest
                {
                    NextToken = resp.NextToken
                    ,
                    Limit = maxItems
                };

                resp = client.DescribePlayerSessions(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.PlayerSessions)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.NextToken));
        }
Exemple #2
0
 public DescribePlayerSessionsOutcome DescribePlayerSessions(DescribePlayerSessionsRequest request)
 {
     log.DebugFormat("Describing player sessions for playerSessionId {0}", request.PlayerSessionId);
     if (!networkInitialized)
     {
         return(new DescribePlayerSessionsOutcome(new GameLiftError(GameLiftErrorType.NETWORK_NOT_INITIALIZED)));
     }
     else
     {
         return(sender.DescribePlayerSessions(request));
     }
 }
Exemple #3
0
        /// <summary>
        /// 本接口(DescribePlayerSessions)用于获取玩家会话列表
        /// </summary>
        /// <param name="req"><see cref="DescribePlayerSessionsRequest"/></param>
        /// <returns><see cref="DescribePlayerSessionsResponse"/></returns>
        public DescribePlayerSessionsResponse DescribePlayerSessionsSync(DescribePlayerSessionsRequest req)
        {
            JsonResponseModel <DescribePlayerSessionsResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "DescribePlayerSessions");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <DescribePlayerSessionsResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
Exemple #4
0
    public override void ConnectRequest(UdpEndPoint endpoint, IProtocolToken token)
    {
        //check UserID and SessionID


        TestToken myToken = (TestToken)token;



        //ask GameLift to verify sessionID is valid, it will change player slot from "RESERVED" to "ACTIVE"
        Aws.GameLift.GenericOutcome outCome = GameLiftServerAPI.AcceptPlayerSession(myToken.ArbitraryData);
        if (outCome.Success)
        {
            BoltNetwork.Accept(endpoint);
        }
        else
        {
            BoltNetwork.Refuse(endpoint);
        }

        /*
         * This data type is used to specify which player session(s) to retrieve.
         * It can be used in several ways:
         * (1) provide a PlayerSessionId to request a specific player session;
         * (2) provide a GameSessionId to request all player sessions in the specified game session; or
         * (3) provide a PlayerId to request all player sessions for the specified player.
         * For large collections of player sessions,
         * use the pagination parameters to retrieve results as sequential pages.
         *
         */
        var aaa = new DescribePlayerSessionsRequest()
        {
            PlayerSessionId = myToken.ArbitraryData,
            // GameSessionId = myToken.ArbitraryData,
            // PlayerId =
        };



        Aws.GameLift.DescribePlayerSessionsOutcome DPSO = GameLiftServerAPI.DescribePlayerSessions(aaa);
        string TheirPlayerId = DPSO.Result.PlayerSessions[0].PlayerId;

        Debug.Log(TheirPlayerId);
    }
 public DescribePlayerSessionsOutcome DescribePlayerSessions(DescribePlayerSessionsRequest request)
 {
     return(httpClientInvoker.DescribePlayerSessions(request).Result);
 }
Exemple #6
0
 /// <summary>
 /// Retrieves properties for one or more player sessions.
 /// </summary>
 /// <returns>The player sessions.</returns>
 /// <param name="describePlayerSessionsRequest">Request specifying which player sessions to describe.</param>
 public static DescribePlayerSessionsOutcome DescribePlayerSessions(DescribePlayerSessionsRequest describePlayerSessionsRequest)
 {
     return(ServerState.Instance.DescribePlayerSessions(describePlayerSessionsRequest));
 }
 public void DescribePlayerSessionsAsync(DescribePlayerSessionsRequest request, AmazonServiceCallback <DescribePlayerSessionsRequest, DescribePlayerSessionsResponse> callback, AsyncOptions options = null)
 {
     throw new System.NotImplementedException();
 }
        public static Protobuf.DescribePlayerSessionsRequest ParseFromDescribePlayerSessionsRequest(DescribePlayerSessionsRequest request)
        {
            var translation = new Protobuf.DescribePlayerSessionsRequest();

            translation.GameSessionId             = request.GameSessionId;
            translation.PlayerId                  = request.PlayerId;
            translation.PlayerSessionId           = request.PlayerSessionId;
            translation.PlayerSessionStatusFilter = request.PlayerSessionStatusFilter;
            translation.NextToken                 = request.NextToken;
            translation.Limit = request.Limit;

            return(translation);
        }
        public static Com.Amazon.Whitewater.Auxproxy.Pbuffer.DescribePlayerSessionsRequest ParseFromDescribePlayerSessionsRequest(DescribePlayerSessionsRequest request)
        {
            var pRequest = new Com.Amazon.Whitewater.Auxproxy.Pbuffer.DescribePlayerSessionsRequest();

            if (null != request.GameSessionId)
            {
                pRequest.GameSessionId = request.GameSessionId;
            }
            if (null != request.PlayerId)
            {
                pRequest.PlayerId = request.PlayerId;
            }
            if (null != request.PlayerSessionId)
            {
                pRequest.PlayerSessionId = request.PlayerSessionId;
            }
            if (null != request.PlayerSessionStatusFilter)
            {
                pRequest.PlayerSessionStatusFilter = request.PlayerSessionStatusFilter;
            }
            if (null != request.NextToken)
            {
                pRequest.NextToken = request.NextToken;
            }
            pRequest.Limit = request.Limit;
            return(pRequest);
        }