コード例 #1
0
    private void OnPlayersChanged(BnetPlayerChangelist changelist, object userData)
    {
        BnetPlayer myPlayer = BnetPresenceMgr.Get().GetMyPlayer();

        if (changelist.FindChange(myPlayer) != null)
        {
            BnetGameAccount hearthstoneGameAccount = myPlayer.GetHearthstoneGameAccount();
            if (((hearthstoneGameAccount != null) && !this.m_myPlayerReady) && (hearthstoneGameAccount.HasGameField(20) && hearthstoneGameAccount.HasGameField(0x13)))
            {
                this.m_myPlayerReady = true;
                this.UpdateMyAvailability();
            }
            if (!this.AmIAvailable() && this.m_challengerPending)
            {
                Network.DeclineFriendChallenge(this.m_partyId);
                this.CleanUpChallengeData(true);
            }
        }
        if (this.m_challengerPending)
        {
            BnetPlayerChange change = changelist.FindChange(this.m_challengerId);
            if (change != null)
            {
                BnetPlayer player = change.GetPlayer();
                if (player.IsDisplayable())
                {
                    this.m_challenger        = player;
                    this.m_challengerPending = false;
                    this.FireChangedEvent(FriendChallengeEvent.I_RECEIVED_CHALLENGE, this.m_challenger);
                }
            }
        }
    }
コード例 #2
0
 private void AddChangedPlayer(BnetPlayer player, BnetPlayerChangelist changelist)
 {
     if ((player != null) && !changelist.HasChange(player))
     {
         BnetPlayerChange change = new BnetPlayerChange();
         change.SetOldPlayer(player.Clone());
         change.SetNewPlayer(player);
         changelist.AddChange(change);
     }
 }
コード例 #3
0
    private void OnPlayersChanged(BnetPlayerChangelist changelist, object userData)
    {
        BnetPlayerChange change = changelist.FindChange(this.m_receiver);

        if (change != null)
        {
            BnetPlayer oldPlayer = change.GetOldPlayer();
            BnetPlayer newPlayer = change.GetNewPlayer();
            if ((oldPlayer == null) || (oldPlayer.IsOnline() != newPlayer.IsOnline()))
            {
                this.UpdateReceiver();
            }
        }
    }
コード例 #4
0
    private void OnPlayersChanged(BnetPlayerChangelist changelist, object userData)
    {
        BnetPlayerChange change = changelist.FindChange(this.m_selectedFriend);

        if (change != null)
        {
            BnetPlayer oldPlayer = change.GetOldPlayer();
            BnetPlayer newPlayer = change.GetNewPlayer();
            if ((oldPlayer == null) || (oldPlayer.IsOnline() != newPlayer.IsOnline()))
            {
                this.m_selectedFriend = null;
            }
        }
    }
コード例 #5
0
    private void OnPlayersChanged(BnetPlayerChangelist changelist, object userData)
    {
        BnetPlayerChange change = changelist.FindChange(this.m_whisper.GetTheirGameAccountId());

        if (change != null)
        {
            BnetPlayer oldPlayer = change.GetOldPlayer();
            BnetPlayer newPlayer = change.GetNewPlayer();
            if ((oldPlayer == null) || (oldPlayer.IsOnline() != newPlayer.IsOnline()))
            {
                this.UpdateWhisper();
            }
        }
    }
コード例 #6
0
    private BnetPlayerChangelist ChangeGameField(BnetGameAccount hsGameAccount, uint fieldId, object val)
    {
        if (hsGameAccount == null)
        {
            return(null);
        }
        BnetPlayerChange change = new BnetPlayerChange();

        change.SetOldPlayer(this.m_myPlayer.Clone());
        change.SetNewPlayer(this.m_myPlayer);
        hsGameAccount.SetGameField(fieldId, val);
        BnetPlayerChangelist changelist = new BnetPlayerChangelist();

        changelist.AddChange(change);
        return(changelist);
    }
コード例 #7
0
    private void CreateAccount(BnetAccountId id, BattleNet.PresenceUpdate update, BnetPlayerChangelist changelist)
    {
        BnetAccount account = new BnetAccount();

        this.m_accounts.Add(id, account);
        account.SetId(id);
        BnetPlayer player = null;

        if (!this.m_players.TryGetValue(id, out player))
        {
            player = new BnetPlayer();
            this.m_players.Add(id, player);
            BnetPlayerChange change = new BnetPlayerChange();
            change.SetNewPlayer(player);
            changelist.AddChange(change);
        }
        player.SetAccount(account);
        this.UpdateAccount(account, update, changelist);
    }
コード例 #8
0
 public void AddChange(BnetPlayerChange change)
 {
     this.m_changes.Add(change);
 }