コード例 #1
0
    public override void OnBindData(params object[] param)
    {
        PVPBattleResult result = (PVPBattleResult)param[0];

        _txtRank.text  = "+" + result.AddRank;
        _txtScore.text = "+" + result.AddScore;
    }
コード例 #2
0
    public void OnBattleResult(PBattleReport data)
    {
        // 减少攻击次数
        --AttackCount;

        int myRank  = 0;
        int optRank = 0;

        // 输了的话排名不变
        bool isWin      = true;
        bool isAttacker = UserManager.Instance.EntityID == data.attackerId;

        if (isAttacker)
        {
            // 我是进攻方,记录排名情况
            myRank  = data.pos.x;
            optRank = data.pos.y;
            if (data.winner == eBattleSide.SIDE_DEFENSER)
            {
                isWin = false;
                // 输了
                UIManager.Instance.OpenWindow <UIPVPBattleResultFailView>();
            }
        }
        else
        {
            // 我是防守方,记录排名情况
            myRank  = data.pos.y;
            optRank = data.pos.x;
            if (data.winner == eBattleSide.SIDE_ATTACKER)
            {
                isWin = false;
                // 输了
                UIManager.Instance.OpenWindow <UIPVPBattleResultFailView>();
            }
        }

        if (!isWin)
        {
            MyScore += GameConfig.PVP_SCORE_LOSE_ADD;
            return;
        }

        // 战斗结果
        MyScore += GameConfig.PVP_SCORE_WIN_ADD;

        BattleResult          = new PVPBattleResult();
        BattleResult.AddScore = GameConfig.PVP_SCORE_WIN_ADD;

        // 如果我的排名更低的话,则排名提升
        if (myRank > optRank)
        {
            BattleResult.AddRank = myRank - optRank;
            MyRank = optRank;
        }

        // 每打完一场,更换所有对手
        RequestChangePlayer();

        // 显示战斗结果
        UIManager.Instance.OpenWindow <UIPVPBattleResultView>(BattleResult);
    }