public PresenceConnectResult PresenceConnect(PresenceConnectRequest request)
        {
            int userId;

            this.TryGetUserId(out userId);

            var party = new Party
            {
                Id             = Guid.NewGuid().ToString(),
                MatchmakeState = 0,
                GameData       = new byte[100]
            };

            _partyRepository.CreateAsync(party).Wait();

            var partyOwner = new PartyMember
            {
                UserId  = userId,
                PartyId = party.Id,
                IsOwner = true
            };

            _partyMemberRepository.CreateAsync(partyOwner).Wait();

            var partyStatus = GetPartyStatus(party, new[] { partyOwner });

            return(new PresenceConnectResult
            {
                Result = new ServiceResult <PartyStatus>
                {
                    Data = partyStatus
                }
            });
        }
Beispiel #2
0
        public override Task <PresenceState> PresenceConnect(PresenceConnectRequest request, ServerCallContext context)
        {
            _pp.AddUser(request.UserId, new UserState());
            var st = _pp.GetState(request.UserId);

            return(Task.FromResult(new PresenceState()
            {
                Dummy = st.dummy, Version = st.version
            }));
        }
        public PresenceConnectResult PresenceConnect(PresenceConnectRequest request)
        {
            int userId;
            this.TryGetUserId(out userId);

            var party = new Party
            {
                Id = Guid.NewGuid().ToString(),
                MatchmakeState = 0,
                GameData = new byte[100]
            };
            _partyRepository.CreateAsync(party).Wait();

            var partyOwner = new PartyMember
            {
                UserId = userId,
                PartyId = party.Id,
                IsOwner = true
            };
            _partyMemberRepository.CreateAsync(partyOwner).Wait();

            var partyStatus = GetPartyStatus(party, new[] { partyOwner });

            return new PresenceConnectResult
            {
                Result = new ServiceResult<PartyStatus>
                {
                    Data = partyStatus
                }
            };
        }
 public PresenceConnectResult PresenceConnect(PresenceConnectRequest request)
 {
     return new PresenceConnectResult
     {
         Result = new ServiceResult<PartyStatus>
         {
             Data = new PartyStatus
             {
                 Party = new PartyId
                 {
                     Id = "1"
                 },
                 SessionMembers = new List<SessionMember>
                 {
                     new SessionMember
                     {
                         User = new UserId
                         {
                             Id = 1
                         },
                         IsOwner = true
                     },
                     new SessionMember
                     {
                         User = new UserId
                         {
                             Id = 2
                         },
                         IsOwner = false
                     }
                 },
                 MatchmakeState = 0,
                 GameData = new byte[100]
             }
         }
     };
 }