コード例 #1
0
ファイル: MainService.cs プロジェクト: swedendry/RandomCube
        public async Task Login(string connectionId, string id, string name)
        {
            var method = "Login";

            try
            {
                var duplicationUser = GetUserById(id);
                if (duplicationUser != null)
                {   //중복
                    _users.Remove(duplicationUser);
                }

                var user = new User()
                {
                    Id           = id,
                    Name         = name,
                    ConnectionId = connectionId,
                };

                _users.Add(user);

                await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Success(new SC_Login()
                {
                    User = user,
                }));
            }
            catch (Exception ex)
            {
                await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Error(ex));
            }
        }
コード例 #2
0
ファイル: MainService.cs プロジェクト: swedendry/RandomCube
        public async Task EnterMatch(string connectionId, string id)
        {
            var method = "EnterMatch";

            try
            {
                var result = false;
                var user   = GetUserById(id);
                if (user != null)
                {
                    result = _matchService.Enter(user);
                }

                if (result)
                {
                    await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Success(new SC_EnterMatch()
                    {
                        Id = id,
                    }));
                }
                else
                {
                    await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Fail(PayloadCode.Failure));
                }
            }
            catch (Exception ex)
            {
                await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Error(ex));
            }
        }
コード例 #3
0
ファイル: MainService.cs プロジェクト: swedendry/RandomCube
        public async Task EnterRoom(string connectionId, CS_EnterRoom cs)
        {
            var method = "EnterRoom";

            try
            {
                var result = false;
                var user   = GetUserById(cs.User.Id);
                if (user != null)
                {
                    cs.User.ConnectionId = connectionId;
                    cs.User.Name         = user.Name;

                    result = _roomService.Enter(cs.GroupName, cs.User);
                }

                if (result)
                {
                    await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Success(new SC_EnterRoom()
                    {
                        User      = cs.User,
                        GroupName = cs.GroupName
                    }));
                }
                else
                {
                    await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Fail(PayloadCode.Failure));
                }
            }
            catch (Exception ex)
            {
                await _context.Clients(connectionId).SendCoreAsync(method, PayloadPack.Error(ex));
            }
        }