예제 #1
0
    private void AttackVictory(Land attackLand, Land defenceLand)
    {
        int winLandLeftUnit = 0;

        //显示上重新绘制防守地块上的Tile
        BattleMap.ResetCampTile(defenceLand.CoordinateInMap, CurCamp.campTile);
        //从防守地块列表中删除该地块
        CampDic[defenceLand.CampID].ownedLands.Remove(defenceLand);
        Cannon oldCannon = attackLand.cannon;

        //给攻下的这块地重新赋值,土遁:高炮转移术!
        winLandLeftUnit = attackLand.BattleUnit - 1;
        defenceLand.SetLandInfo(attackLand.CampID, winLandLeftUnit, oldCannon);
        //新地设置成有炮的tile
        //todo
        BattleMap.SetCannonTile(defenceLand.CoordinateInMap, CurCamp.cannonTile);
        //防守失败,卡牌有啥表示没?
        defenceLand.AfterFightCardEffect(BattleCardTriggerTime.DEFENCE_LOSE);
        //进攻成功,阵营有buff加成否?
        if (CurCamp.hasCardBuff && CurCamp.CampBuffCardEffect.VictoryCB != null)
        {
            CurCamp.CampBuffCardEffect.VictoryCB(defenceLand);
        }
        //进攻地块留守一个单位
        attackLand.SetLandInfo(attackLand.CampID, 1, new Cannon());
        //替换成没有炮的tile
        //todo
        BattleMap.SetCannonTile(attackLand.CoordinateInMap, null);
        //给进攻地块列表加上攻下的这块地
        CurCamp.ownedLands.Add(defenceLand);
    }
예제 #2
0
 private void DefenceVictory(Land attackLand)
 {
     //给进攻失败这块地重新赋值,我炮没了
     attackLand.SetLandInfo(attackLand.CampID, 1, new Cannon());
     //替换成没有炮的tile
     //todo
     BattleMap.SetCannonTile(attackLand.CoordinateInMap, null);
     //进攻失败,卡牌有啥表示没
     attackLand.AfterFightCardEffect(BattleCardTriggerTime.ATTACK_LOSE);
 }