private void OnPropertyChanged(DependencyObject d, DependencyProperty prop) { // rerender the bitmap if (string.IsNullOrEmpty(IconUrl)) { string guildAbbr = string.Empty; foreach (string s in GuildName.Split(new char[] { ' ' }, System.StringSplitOptions.RemoveEmptyEntries)) { guildAbbr += char.ToLower(s[0]); } serverNameText.Text = guildAbbr; serverNameText.Visibility = Visibility.Visible; serverNameText.IsTextSelectionEnabled = false; serverEllipse.Fill = new SolidColorBrush { Color = Windows.UI.Color.FromArgb(0xff, 0x2e, 0x31, 0x36), }; return; } serverNameText.Visibility = Visibility.Collapsed; serverEllipse.Fill = new ImageBrush { ImageSource = new BitmapImage { UriSource = new System.Uri(IconUrl), DecodePixelType = DecodePixelType.Logical, DecodePixelHeight = 50, DecodePixelWidth = 50, }, }; }
public override void Write() { _worldPacket.WritePackedGuid(GuildGUID); _worldPacket.WriteBits(GuildName.GetByteCount(), 7); _worldPacket.FlushBits(); _worldPacket.WriteString(GuildName); }
/// <summary> /// Adds messages to ArrayList which are sent when object is targeted /// </summary> /// <param name="player">GamePlayer that is examining this object</param> /// <returns>list with string messages</returns> public override IList GetExamineMessages(GamePlayer player) { string TrainerClassName = string.Empty; switch (player.Client.Account.Language) { case "DE": { var translation = (DBLanguageNPC)LanguageMgr.GetTranslation(player.Client.Account.Language, this); if (translation != null) { int index = -1; if (translation.GuildName.Length > 0) { index = translation.GuildName.IndexOf("-Ausbilder"); } if (index >= 0) { TrainerClassName = translation.GuildName.Substring(0, index); } } else { TrainerClassName = GuildName; } } break; default: { int index = -1; if (GuildName.Length > 0) { index = GuildName.IndexOf(" Trainer"); } if (index >= 0) { TrainerClassName = GuildName.Substring(0, index); } } break; } IList list = new ArrayList(); list.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameTrainer.GetExamineMessages.YouTarget", GetName(0, false, player.Client.Account.Language, this))); list.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameTrainer.GetExamineMessages.YouExamine", GetName(0, false, player.Client.Account.Language, this), GetPronoun(0, true, player.Client.Account.Language), GetAggroLevelString(player, false), TrainerClassName)); list.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameTrainer.GetExamineMessages.RightClick")); return(list); }
public void Write(WorldPacket data) { PlayerData.Write(data); data.WritePackedGuid(GuildGUID); data.WriteUInt32(GuildVirtualRealmAddress); data.WriteInt32(AreaID); data.WriteBits(GuildName.GetByteCount(), 7); data.WriteBit(IsGM); data.WriteString(GuildName); data.FlushBits(); }
public void Write(WorldPacket data) { data.WritePackedGuid(GuildGUID); data.WriteUInt32(GuildVirtualRealm); data.WriteInt32(ClassRoles); data.WriteInt32(PlayStyle); data.WriteInt32(Availability); data.WriteUInt32(SecondsSinceCreated); data.WriteUInt32(SecondsUntilExpiration); data.WriteBits(GuildName.GetByteCount(), 7); data.WriteBits(Comment.GetByteCount(), 10); data.FlushBits(); data.WriteString(GuildName); data.WriteString(Comment); }
public static void Draw() { if (!Visible) { return; } if (GuildName.CompareTo(string.Empty) == 0) { return; } guild_panel.Draw(); button[0].Draw(); button[1].Draw(); button[2].Draw(); button[3].Draw(); button[4].Draw(); if (Common.Configuration.Language == Language.Portuguese) { EngineFont.DrawText(null, GuildName, new Size2(430, 0), new Point(posx, posy + 40), Color.BlueViolet, EngineFontStyle.Bold, FontDrawFlags.Left, true); EngineFont.DrawText(null, "Guild Master: " + GuildMaster, new Size2(430, 0), new Point(posx, posy + 100), Color.White, EngineFontStyle.Regular, FontDrawFlags.Left, true); EngineFont.DrawText(null, "Level: " + Level, posx + 60, posy + 120, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "Experiência: " + Exp + " / " + ExpMax, posx + 190, posy + 120, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "Ranking: " + Ranking, posx + 60, posy + 134, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "Contribuição: " + Contribution, posx + 190, posy + 140, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "Membros: " + Member + " / " + MemberMax, posx + 60, posy + 160, Color.Coral, EngineFontStyle.Regular); EngineFont.DrawText(null, "Online: " + Online, posx + 190, posy + 160, Color.Coral, EngineFontStyle.Regular); EngineFont.DrawText(null, "Mensagem: ", posx + 60, posy + 180, Color.CornflowerBlue, EngineFontStyle.Regular); EngineFont.DrawText(null, Announcement, posx + 145, posy + 180, Color.White, EngineFontStyle.Regular); } if (Common.Configuration.Language == Language.Japanese) { EngineFont.DrawText(null, GuildName, new Size2(365, 0), new Point(posx, posy + 40), Color.BlueViolet, EngineFontStyle.Bold, FontDrawFlags.Left, true); EngineFont.DrawText(null, "ギルドマスター: " + GuildMaster, new Size2(365, 0), new Point(posx, posy + 100), Color.White, EngineFontStyle.Regular, FontDrawFlags.Left, true); EngineFont.DrawText(null, "レベル: " + Level, posx + 35, posy + 11, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "経験値: " + Exp + " / " + ExpMax, posx + 170, posy + 110, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "ランキング: " + Ranking, posx + 35, posy + 130, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "ポイント: " + Contribution, posx + 170, posy + 130, Color.White, EngineFontStyle.Regular); EngineFont.DrawText(null, "メンバー: " + Member + " / " + MemberMax, posx + 35, posy + 150, Color.Coral, EngineFontStyle.Regular); EngineFont.DrawText(null, "オンライン: " + Online, posx + 170, posy + 150, Color.Coral, EngineFontStyle.Regular); EngineFont.DrawText(null, "メッセージ: ", posx + 35, posy + 180, Color.CornflowerBlue, EngineFontStyle.Regular); EngineFont.DrawText(null, Announcement, posx + 100, posy + 180, Color.White, EngineFontStyle.Regular); } }
private void InvalidInvite(InvalidReason reason) { // Hide loading indicator Loading.Fade(0, 200).Start(); GuildName.Fade(1, 350).Start(); // Show appropiate error text if (reason == InvalidReason.Default) { GuildName.Text = App.GetString("/Controls/InviteInvalid"); } else if (reason == InvalidReason.MaxUses) { GuildName.Text = App.GetString("/Controls/InviteMaxUses"); } else if (reason == InvalidReason.Expired) { GuildName.Text = App.GetString("/Controls/InviteExpired"); } // Make the text red GuildName.Foreground = (SolidColorBrush)Application.Current.Resources["dnd"]; // If there's a user linked to the invite, display a link to them so you can ask them for a link if (DisplayedInvite?.Inviter != null && LocalState.Guilds[App.CurrentGuildId].members.ContainsKey(DisplayedInvite?.Inviter.Id)) { ChannelName.Text = "Ask @" + DisplayedInvite.Inviter.Username + "#" + DisplayedInvite.Inviter.Discriminator + " for a new one"; ChannelName.Visibility = Visibility.Visible; } else { ChannelName.Text = ""; ChannelName.Visibility = Visibility.Collapsed; } // Hide Guild details (there are none) MemberCounters.Visibility = Visibility.Collapsed; GuildImage.Visibility = Visibility.Collapsed; // Interaction status is invalid Status = InviteStatus.Invalid; }
public void Write(WorldPacket data) { data.WriteBits(GuildName.GetByteCount(), 7); data.WriteBits(Comment.GetByteCount(), 10); data.WritePackedGuid(GuildGUID); data.WriteUInt32(GuildVirtualRealm); data.WriteInt32(GuildMembers); data.WriteUInt32(GuildAchievementPoints); data.WriteInt32(PlayStyle); data.WriteInt32(Availability); data.WriteInt32(ClassRoles); data.WriteInt32(LevelRange); data.WriteUInt32(EmblemStyle); data.WriteUInt32(EmblemColor); data.WriteUInt32(BorderStyle); data.WriteUInt32(BorderColor); data.WriteUInt32(Background); data.WriteInt8(Cached); data.WriteInt8(MembershipRequested); data.WriteString(GuildName); data.WriteString(Comment); }
public override void Write() { _worldPacket.WriteBits(InviterName.GetByteCount(), 6); _worldPacket.WriteBits(GuildName.GetByteCount(), 7); _worldPacket.WriteBits(OldGuildName.GetByteCount(), 7); _worldPacket.WriteUInt32(InviterVirtualRealmAddress); _worldPacket.WriteUInt32(GuildVirtualRealmAddress); _worldPacket.WritePackedGuid(GuildGUID); _worldPacket.WriteUInt32(OldGuildVirtualRealmAddress); _worldPacket.WritePackedGuid(OldGuildGUID); _worldPacket.WriteUInt32(EmblemStyle); _worldPacket.WriteUInt32(EmblemColor); _worldPacket.WriteUInt32(BorderStyle); _worldPacket.WriteUInt32(BorderColor); _worldPacket.WriteUInt32(Background); _worldPacket.WriteInt32(AchievementPoints); _worldPacket.WriteString(InviterName); _worldPacket.WriteString(GuildName); _worldPacket.WriteString(OldGuildName); }
private async void LoadInvite(bool ForceJoin) { InviteCode = InviteCode.Replace(">\n", ""); InviteCode = InviteCode.Replace("http://discord.me/", ""); InviteCode = InviteCode.Replace("https://discord.me/", ""); InviteCode = InviteCode.Replace("https://discord.gg/", ""); InviteCode = InviteCode.Replace("http://discord.gg/", ""); InviteCode = InviteCode.Replace("https://discordapp.com/invite/", ""); InviteCode = InviteCode.Replace("http://discordapp.com/invite/", ""); GreenIcon.Opacity = 0; RedIcon.Opacity = 0; JoinIcon.Opacity = 0; ChannelName.Opacity = 0; GuildName.Opacity = 0; Loading.Opacity = 1; try { DisplayedInvite = await RESTCalls.GetInvite(InviteCode); Loading.Fade(0, 200).Start(); GuildName.Visibility = Visibility.Visible; TimeSpan timeDiff = TimeSpan.FromSeconds(1); if (DisplayedInvite.CreatedAt != null && DisplayedInvite.MaxAge != 0) { var creationTime = DateTime.Parse(DisplayedInvite.CreatedAt); timeDiff = TimeSpan.FromSeconds(DisplayedInvite.MaxAge - DateTime.Now.Subtract(creationTime).TotalSeconds); } GuildName.Text = DisplayedInvite.Guild.Name; GuildName.Fade(1, 350).Start(); ChannelName.Fade(1, 200).Start(); if (LocalState.Guilds.ContainsKey(DisplayedInvite.Guild.Id) || ForceJoin) { GreenIcon.Fade(1, 200).Start(); ChannelName.Text = App.GetString("/Controls/InviteJoined") + " " + DisplayedInvite.Channel.Name; return; } if (DisplayedInvite.MaxUses != 0 && DisplayedInvite.MaxUses <= DisplayedInvite.Uses) { ChannelName.Text = App.GetString("/Controls/InviteMaxUses"); RedIcon.Fade(1, 200).Start(); return; } if (timeDiff.TotalSeconds > 0) { JoinIcon.Fade(1, 200).Start(); ChannelName.Text = App.GetString("/Controls/InviteJoin") + " " + DisplayedInvite.Channel.Name; } else { RedIcon.Fade(1, 200).Start(); ChannelName.Text = App.GetString("/Controls/InviteExpired"); } } catch { Loading.Fade(0, 200).Start(); GuildName.Fade(1, 350).Start(); ChannelName.Fade(1, 200).Start(); RedIcon.Fade(1, 200).Start(); ChannelName.Text = App.GetString("/Controls/InviteInvalid"); GuildName.Visibility = Visibility.Collapsed; } }
/// <summary> /// /// </summary> /// <param name="Join">False if just rendering the embed</param> private async void LoadInvite(bool Join) { GuildName.Foreground = (SolidColorBrush)Application.Current.Resources["InvertedBG"]; // Trim link prefix InviteCode = InviteCode.Replace(">\n", ""); InviteCode = InviteCode.Replace("http://discord.me/", ""); InviteCode = InviteCode.Replace("https://discord.me/", ""); InviteCode = InviteCode.Replace("https://discord.gg/", ""); InviteCode = InviteCode.Replace("http://discord.gg/", ""); InviteCode = InviteCode.Replace("https://discordapp.com/invite/", ""); InviteCode = InviteCode.Replace("http://discordapp.com/invite/", ""); // Show loading GuildName.Opacity = 0; Loading.Opacity = 1; try { // Get invite DisplayedInvite = await RESTCalls.GetInvite(InviteCode); if (DisplayedInvite == null) { InvalidInvite(InvalidReason.Default); return; } // Show invite Loading.Fade(0, 200).Start(); GuildName.Visibility = Visibility.Visible; // Get expiration time TimeSpan timeDiff = TimeSpan.FromSeconds(1); if (DisplayedInvite.CreatedAt != null && DisplayedInvite.MaxAge != 0) { var creationTime = DateTime.Parse(DisplayedInvite.CreatedAt); timeDiff = TimeSpan.FromSeconds(DisplayedInvite.MaxAge - DateTime.Now.Subtract(creationTime).TotalSeconds); } // Return an error if the guild is null if (DisplayedInvite.Guild == null) { InvalidInvite(InvalidReason.Default); return; } // Display the guild image if (DisplayedInvite.Guild?.Icon != null) { GuildImage.Visibility = Visibility.Visible; GuildImageBrush.ImageSource = new BitmapImage(new Uri("https://cdn.discordapp.com/icons/" + DisplayedInvite.Guild.Id + "/" + DisplayedInvite.Guild.Icon + ".png")); } else { GuildImage.Visibility = Visibility.Collapsed; } // Setup channel details (invites are technically to a channel) ChannelName.Text = "#" + DisplayedInvite.Channel.Name; ChannelName.Fade(0.6f, 200).Start(); // Guild details visibility GuildName.Fade(1, 100).Start(); GuildImage.Fade(1, 300).Start(); // Member values MemberCounters.Visibility = Visibility.Visible; MemberCounters.Fade(1, 400).Start(); onlineCounter.Text = DisplayedInvite.OnlineCount + " online"; offlineCounter.Text = DisplayedInvite.MemberCount + " members"; // Return error if the user has already joined if (LocalState.Guilds.ContainsKey(DisplayedInvite.Guild.Id) || Join) { GuildName.Text = App.GetString("/Controls/InviteJoined") + " " + DisplayedInvite.Guild.Name; Status = InviteStatus.AlreadyJoined; return; } // Return error if the invite uses has already been maxed if (DisplayedInvite.MaxUses != 0 && DisplayedInvite.MaxUses <= DisplayedInvite.Uses) { InvalidInvite(InvalidReason.MaxUses); return; } // Return error if the invite has timed out if (timeDiff.TotalSeconds > 0) { GuildName.Text = App.GetString("/Controls/InviteJoin") + " " + DisplayedInvite.Guild.Name; Status = InviteStatus.Canjoin; } else { InvalidInvite(InvalidReason.Default); } } catch { // Something went wrong, return an error InvalidInvite(InvalidReason.Default); } }