public static async Task SendGuildInformationAsync(Player player) { await using var ctx = new UchuContext(); var character = await ctx.Characters.FirstAsync(c => c.Id == player.Id); var guild = await ctx.Guilds.FirstOrDefaultAsync(g => g.Id == character.GuildId); if (guild == default) { player.CentralNoticeGui("You are not a member of a guild!"); return; } await UiHelper.SetGuildNameAsync(player, guild.Name); await player.MessageGuiAsync("ClearGuildMembers"); var members = await ctx.Characters.Where(c => c.GuildId == guild.Id).ToArrayAsync(); var index = 0; foreach (var member in members) { var memberPlayer = player.Zone.Players.FirstOrDefault(p => p.Id == member.Id); await UiHelper.AddGuildMemberAsync(player, index ++, new GuildMember { Name = member.Name, Online = memberPlayer != default, Rank = guild.CreatorId == member.Id ? "Owner" : "Member", Zone = ((ZoneId)member.LastZone).ToString() });