コード例 #1
0
    public bool CanChallenge(BnetPlayer player)
    {
        if (player == null)
        {
            return(false);
        }
        BnetPlayer myPlayer = BnetPresenceMgr.Get().GetMyPlayer();

        if (player == myPlayer)
        {
            return(false);
        }
        if (!this.AmIAvailable())
        {
            return(false);
        }
        if ((TavernBrawlManager.Get().ShouldNewFriendlyChallengeBeTavernBrawl() && TavernBrawlManager.Get().CurrentMission().canCreateDeck) && !TavernBrawlManager.Get().HasValidDeck())
        {
            return(false);
        }
        BnetGameAccount hearthstoneGameAccount = player.GetHearthstoneGameAccount();

        if (hearthstoneGameAccount == null)
        {
            return(false);
        }
        if (!hearthstoneGameAccount.IsOnline())
        {
            return(false);
        }
        if (!hearthstoneGameAccount.CanBeInvitedToGame())
        {
            return(false);
        }
        if (ApplicationMgr.IsPublic())
        {
            BnetGameAccount account2 = myPlayer.GetHearthstoneGameAccount();
            if (string.Compare(hearthstoneGameAccount.GetClientVersion(), account2.GetClientVersion()) != 0)
            {
                return(false);
            }
            if (string.Compare(hearthstoneGameAccount.GetClientEnv(), account2.GetClientEnv()) != 0)
            {
                return(false);
            }
        }
        return(true);
    }
コード例 #2
0
    public bool AmIAvailable()
    {
        if (!this.m_netCacheReady)
        {
            return(false);
        }
        if (!this.m_myPlayerReady)
        {
            return(false);
        }
        if (SpectatorManager.Get().IsInSpectatorMode())
        {
            return(false);
        }
        BnetGameAccount hearthstoneGameAccount = BnetPresenceMgr.Get().GetMyPlayer().GetHearthstoneGameAccount();

        if (hearthstoneGameAccount == null)
        {
            return(false);
        }
        return(hearthstoneGameAccount.CanBeInvitedToGame());
    }