Exemplo n.º 1
0
        public void GetUserDataHandler(ChatSession session, CGetUserDataReqMessage message)
        {
            var plr = session.Player;

            if (plr.Account.Id == message.AccountId)
            {
                session.Send(new SUserDataAckMessage(plr.Map <Player, UserDataDto>()));
                return;
            }

            Player target;

            if (plr.Channel.Players.TryGetValue(message.AccountId, out target))
            {
                switch (target.Settings.Get <CommunitySetting>(nameof(UserDataDto.AllowInfoRequest)))
                {
                case CommunitySetting.Deny:
                    // Not sure if there is an answer to this
                    return;

                case CommunitySetting.FriendOnly:
                    // ToDo
                    return;
                }

                session.Send(new SUserDataAckMessage(target.Map <Player, UserDataDto>()));
            }
        }
Exemplo n.º 2
0
        public async Task <bool> OnHandle(MessageContext context, CGetUserDataReqMessage message)
        {
            var session = context.GetSession <Session>();
            var plr     = session.Player;

            if (plr.Account.Id == message.AccountId)
            {
                session.Send(new SUserDataAckMessage(plr.Map <Player, UserDataDto>()));
                return(true);
            }

            if (!plr.Channel.Players.TryGetValue(message.AccountId, out var target))
            {
                return(true);
            }

            switch (target.Settings.Get <CommunitySetting>(nameof(UserDataDto.AllowInfoRequest)))
            {
            case CommunitySetting.Deny:
                // Not sure if there is an answer to this
                return(true);

            case CommunitySetting.FriendOnly:
                // TODO
                return(true);
            }

            session.Send(new SUserDataAckMessage(target.Map <Player, UserDataDto>()));
            return(true);
        }