private void ShowTooltip() { string str; string str2; BnetGameAccountId hearthstoneGameAccountId = this.m_player.GetHearthstoneGameAccountId(); SpectatorManager manager = SpectatorManager.Get(); if (manager.HasInvitedMeToSpectate(hearthstoneGameAccountId)) { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_AVAILABLE_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_RECEIVED_INVITE_TEXT"; } else if (manager.CanSpectate(this.m_player)) { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_AVAILABLE_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_AVAILABLE_TEXT"; } else if (manager.IsSpectatingMe(hearthstoneGameAccountId)) { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_KICK_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_KICK_TEXT"; } else if (manager.CanInviteToSpectateMyGame(hearthstoneGameAccountId)) { if (manager.IsPlayerSpectatingMyGamesOpposingSide(hearthstoneGameAccountId)) { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_INVITE_OTHER_SIDE_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_INVITE_OTHER_SIDE_TEXT"; } else { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_INVITE_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_INVITE_TEXT"; } } else if (manager.IsInvitedToSpectateMyGame(hearthstoneGameAccountId)) { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_INVITED_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_INVITED_TEXT"; } else if (manager.IsSpectatingPlayer(hearthstoneGameAccountId)) { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_SPECTATING_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_SPECTATING_TEXT"; } else if (manager.HasPreviouslyKickedMeFromGame(hearthstoneGameAccountId)) { str = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_PREVIOUSLY_KICKED_HEADER"; str2 = "GLOBAL_FRIENDLIST_SPECTATE_TOOLTIP_PREVIOUSLY_KICKED_TEXT"; } else { bool flag = TavernBrawlManager.Get().ShouldNewFriendlyChallengeBeTavernBrawl(); if (flag) { str = "GLOBAL_FRIENDLIST_TAVERN_BRAWL_CHALLENGE_BUTTON_HEADER"; } else { str = "GLOBAL_FRIENDLIST_CHALLENGE_BUTTON_HEADER"; } if (!FriendChallengeMgr.Get().AmIAvailable()) { str2 = "GLOBAL_FRIENDLIST_CHALLENGE_BUTTON_IM_UNAVAILABLE"; } else if (!FriendChallengeMgr.Get().CanChallenge(this.m_player)) { str2 = null; TavernBrawlMission mission = TavernBrawlManager.Get().CurrentMission(); if ((flag && mission.canCreateDeck) && !TavernBrawlManager.Get().HasValidDeck()) { str2 = "GLOBAL_FRIENDLIST_CHALLENGE_BUTTON_TAVERN_BRAWL_MUST_CREATE_DECK"; } if (str2 == null) { str2 = "GLOBAL_FRIENDLIST_CHALLENGE_BUTTON_THEYRE_UNAVAILABLE"; } } else if (flag) { str2 = "GLOBAL_FRIENDLIST_TAVERN_BRAWL_CHALLENGE_BUTTON_AVAILABLE"; } else { str2 = "GLOBAL_FRIENDLIST_CHALLENGE_BUTTON_AVAILABLE"; } } if (UniversalInputManager.Get().IsTouchMode()) { if (GameStrings.HasKey(str + "_TOUCH")) { str = str + "_TOUCH"; } if (GameStrings.HasKey(str2 + "_TOUCH")) { str2 = str2 + "_TOUCH"; } } string headline = GameStrings.Get(str); object[] args = new object[] { this.m_player.GetBestName() }; string bodytext = GameStrings.Format(str2, args); this.m_TooltipZone.ShowSocialTooltip(this, headline, bodytext, 75f, GameLayer.BattleNetDialog); }