Example #1
0
        public static void SendGuildInformationsMembers(WorldClient client)
        {
            var members = CharacterGuildRecord.GetMembers(client.Character.GuildId);

            client.Send(new GuildInformationsMembersMessage(
                            members));
        }
        public static WorldClient[] GetMembers(int guildId)
        {
            List <WorldClient> clients = new List <WorldClient>();

            foreach (var member in CharacterGuildRecord.GetMembers(guildId))
            {
                clients.Add(WorldServer.Instance.GetOnlineClient((int)member.id));
            }
            clients.RemoveAll(x => x == null);
            return(clients.ToArray());
        }
        public int ConnectedMembersCount(int guildId)
        {
            int count = 0;

            foreach (var member in CharacterGuildRecord.GetMembers(guildId))
            {
                if (WorldServer.Instance.IsConnected((int)member.id))
                {
                    count++;
                }
            }
            return(count);
        }
        public static void HandleGetGuildInFactRequest(GuildFactsRequestMessage message, WorldClient client)
        {
            GuildRecord guild = GuildRecord.GetGuild((int)message.guildId);

            if (guild == null)
            {
                return;
            }
            AllianceRecord alliance = AllianceProvider.GetAllianceFromGuild(guild.Id);
            List <CharacterMinimalInformations> membersMinimalInfos = new List <CharacterMinimalInformations>();

            foreach (GuildMember member in CharacterGuildRecord.GetMembers(guild.Id))
            {
                membersMinimalInfos.Add(new CharacterMinimalInformations(member.id, member.level, member.name));
            }
            if (alliance == null)
            {
                client.Send(new GuildFactsMessage(new GuildFactSheetInformations((uint)guild.Id, guild.Name, guild.GetEmblemObject(), (uint)GuildProvider.GetLeader(guild.Id).CharacterId, (byte)guild.Level, (ushort)CharacterGuildRecord.GetMembers(guild.Id).Count()), 0, 0, true, (IEnumerable <CharacterMinimalInformations>)membersMinimalInfos));
            }
            else
            {
                client.Send(new GuildInAllianceFactsMessage(new GuildFactSheetInformations((uint)guild.Id, guild.Name, guild.GetEmblemObject(), (uint)GuildProvider.GetLeader(guild.Id).CharacterId, (byte)guild.Level, (ushort)CharacterGuildRecord.GetMembers(guild.Id).Count()), 0, 0, true, (IEnumerable <CharacterMinimalInformations>)membersMinimalInfos, new BasicNamedAllianceInformations((uint)alliance.Id, alliance.Tag, alliance.Name)));
            }
        }