public void RemoveDeputyLeader(Data.GuildMember member) { if (DeputyLeaders.Contains(member.DatabaseUID)) { if (DeputyLeaders.TryRemove(member.DatabaseUID)) { member.Rank = Enums.GuildRank.Member; if (member.Client != null) { Database.CharacterDatabase.Save(member.Client); } else { Database.CharacterDatabase.SaveGuildRank(member.DatabaseUID, member.Rank); } SendMessage(string.Format(Core.MessageConst.DEPUTY_REMOVED, member.Name)); } } if (member.Client != null) { member.Client.SendGuild(); member.Client.Screen.FullUpdate(); } ReorderIndex(); }
public void RemoveMember(Data.GuildMember member, bool order = true) { if (Members.Contains(member.DatabaseUID)) { if (Members.TryRemove(member.DatabaseUID)) { RemoveDeputyLeader(member); if (member.Client != null) { member.Client.GuildMemberInfo = null; member.Client.Guild = null; Database.CharacterDatabase.Save(member.Client); } else { Database.CharacterDatabase.RemoveGuild(member.DatabaseUID); } SendMessage(string.Format(Core.MessageConst.LEAVE_GUILD, member.Name)); } } if (member.Client != null) { member.Client.SendGuild(); member.Client.Screen.FullUpdate(); } if (order) { ReorderIndex(); } }
public void AddDeputyLeader(Data.GuildMember member) { if (DeputyLeaders.TryAdd(member.DatabaseUID, member.Name, member)) { member.Rank = Enums.GuildRank.DeputyLeader; if (member.Client != null) { Database.CharacterDatabase.Save(member.Client); } else { Database.CharacterDatabase.SaveGuildRank(member.DatabaseUID, member.Rank); } SendMessage(string.Format(Core.MessageConst.NEW_DEPUTY_LEADER, member.Name)); } if (member.Client != null) { member.Client.SendGuild(); member.Client.Screen.FullUpdate(); } ReorderIndex(); }
public static GuildMemberInfo Create(Data.GuildMember member) { GuildMemberInfo info = new GuildMemberListPacket.GuildMemberInfo(); info.Name = member.Name; info.Level = member.Level; info.Rank = member.Rank; info.Donation = (int)member.MoneyDonation; info.IsOnline = member.Online; return(info); }
public void LoadGuildInfo() { // Send guild info string guildname = ""; ProjectX_V3_Lib.Sql.SqlHandler sql = Database.CharacterDatabase.OpenRead(this, "DB_Players"); if (sql != null) { guildname = sql.ReadString("PlayerGuild");//client.CharDB.databaseFiles[Database.CharacterDatabase.DatabaseFlag.CharacterFile].ReadString("Guild", string.Empty); sql.Dispose(); } if (string.IsNullOrWhiteSpace(guildname)) { this.Screen.FullUpdate(); return; } if (Core.Kernel.Guilds.Contains(guildname)) { Data.Guild guild; if (Core.Kernel.Guilds.TrySelect(guildname, out guild)) { Data.GuildMember memberinfo; if (guild.Members.TrySelect(this.DatabaseUID, out memberinfo)) { this.GuildMemberInfo = memberinfo; this.GuildMemberInfo.Client = this; this.Guild = guild; SendGuild(); SendGuildAssociations(); using (var announce = new Packets.GuildPacket(new Packets.StringPacker(guild.Bullentin))) { announce.Data = Core.Kernel.TimeGet(Enums.TimeType.Day); announce.Action = Enums.GuildAction.SetAnnounce; this.Send(announce); } this.Screen.FullUpdate(); } } } else Database.CharacterDatabase.UpdateCharacter(this, "PlayerGuild", ""); //client.CharDB.databaseFiles[Database.CharacterDatabase.DatabaseFlag.CharacterFile].WriteString("Guild", string.Empty); }