using System.Collections.Generic; using System.Linq; /// /// The container for the Game Server data. /// namespace ConanData { public partial class DataContainer { /// /// A list of all players registered on the server. /// public List Players { get; set; } /// /// A list of all guilds registered on the server. /// public List Guilds { get; set; } /// /// Constructs the DataContainer. /// public DataContainer() { Players = new List(); Guilds = new List(); } /// /// Links the players to their guilds and the guilds to the players. /// private void LinkPlayerGuild() { for (var i = 0; i < Players.Count; i++) { var player = Players[i]; player.OwnedGuilds = Guilds.Where(t => t.OwnerId == player.CharacterId).ToList(); player.Guild = Guilds.SingleOrDefault(t => t.GuildId == player.GuildId); } for (var i = 0; i < Guilds.Count; i++) { var guild = Guilds[i]; guild.Owner = Players.SingleOrDefault(p => p.CharacterId == guild.OwnerId); guild.Players = Players.Where(p => p.GuildId == guild.GuildId).ToList(); } } } }