Exemplo n.º 1
0
        /// <summary>
        /// Send party social list, this shows the party in the social window.
        /// </summary>
        public override void SendSocialList(Player recipient, ushort sequence)
        {
            var socialList = new ServerSocialList
            {
                ListType = SocialListType.Party,
                Sequence = sequence
            };

            foreach (Member member in Members)
            {
                Player player = MapManager.FindPlayer(member.Name);

                var socialMember = player != null ? new ServerSocialList.Member(player) : new ServerSocialList.Member(member);
                if (member == Leader)
                {
                    socialMember.OnlineStatusMask.Set(36, true);
                }
                if (player != null)
                {
                    socialMember.OnlineStatusMask.Set(37, true);
                }

                socialList.SocialMembers.Add(socialMember);
            }

            recipient.Session.Send(socialList);
        }
Exemplo n.º 2
0
        public static void HandleSocialList(WorldSession session, ClientSocialList socialList)
        {
            switch (socialList.ListType)
            {
            case SocialListType.Party:
            {
                // party
                if (session.Player.Party != null)
                {
                    session.Player.Party.SendSocialList(session.Player, socialList.Sequence);
                }
                // solo
                else
                {
                    ServerSocialList serverSocialList = new ServerSocialList
                    {
                        ListType = SocialListType.Party,
                        Sequence = socialList.Sequence
                    };

                    serverSocialList.SocialMembers.Add(new ServerSocialList.Member(session.Player));
                    session.Send(serverSocialList);
                }
                break;
            }

            default:
            {
                // throw new NotImplementedException($"Unhandled SocialListType {socialList.ListType}!");
                    #if DEBUG
                Console.WriteLine($"Unhandled SocialListType {socialList.ListType}");
                    #endif
                break;
            }
            }
        }