Пример #1
0
    private void WarBegin(CMsgHeader aHeader)
    {
        //战斗开始,读取队伍信息,怒气槽等信息
        CMsgWarBegin aWarBegin = aHeader as CMsgWarBegin;

        foreach (AW.Battle.Monster aMonster in aWarBegin.attTeam.team)
        {
            BanBattleRole role = new BanBattleRole(aMonster.pveIndex, aMonster.num, BanTools.TransAttributeType(aMonster.myAttribute), aMonster.level, aMonster.curAtt, 0, BanBattleRole.Group.Attack, aMonster.curAtt, aMonster.AllFated);
            role.angSkObj = aMonster.aSkill;
            role.norSkObj = aMonster.nSkill;
            role.isBoss   = aMonster.isBoss;

            list_BattleRole.Add(role);
        }

        foreach (AW.Battle.Monster aMonster in aWarBegin.defTeam.team)
        {
            BanBattleRole role = new BanBattleRole(aMonster.pveIndex, aMonster.num, BanTools.TransAttributeType(aMonster.myAttribute), aMonster.level, 0, aMonster.curAtt, BanBattleRole.Group.Defense, aMonster.curAtt, aMonster.AllFated);
            role.angSkObj = aMonster.aSkill;
            role.norSkObj = aMonster.nSkill;
            role.isBoss   = aMonster.isBoss;

            list_BattleRole.Add(role);
        }

        //added by zq for atk and def icon
        attackSideInfo.IsAttack  = (0 == aWarBegin.attTeam.type);
        defenseSideInfo.IsAttack = !attackSideInfo.IsAttack;
        //end

        if (aWarBegin.attAoYi != null)
        {
            foreach (int aoyi in aWarBegin.attAoYi)
            {
                list_AttAoYi.Add(aoyi);
            }
        }

        if (aWarBegin.defAoYi != null)
        {
            foreach (int aoyi in aWarBegin.defAoYi)
            {
                list_DefAoYi.Add(aoyi);
            }
        }

        if (Core.Data.guideManger.isGuiding)
        {
            side = 0;
        }
        else
        {
            if (attackSideInfo.IsAttack)
            {
                side = 0;
            }
            else
            {
                side = 1;
            }
        }
    }
Пример #2
0
    //处理运涛数据
    public void ReadFromHttp()
    {
        localCached = new ConvertData();

        //清除之前的一条条信息
        BanBattleProcess.Instance.list_Item.Clear();
        list_BattleRole.Clear();
        list_AttAoYi.Clear();
        list_DefAoYi.Clear();

                #if DEBUG
        ConsoleEx.DebugLog(JsonFx.Json.JsonWriter.Serialize(Core.Data.temper.warBattle));
                #endif

        int headerIndex = 0;
        List <CMsgHeader> battleInfo = Core.Data.temper.warBattle.battleData.info;

        foreach (CMsgHeader aHeader in battleInfo)
        {
            headerIndex++;
            switch (aHeader.status)
            {
            case CMsgHeader.STATUS_WAR_BEGIN:
                WarBegin(aHeader);

                //战斗开始,读取队伍信息,怒气槽等信息
                CMsgWarBegin aWarBegin = aHeader as CMsgWarBegin;
                localCached.attAPCount = aWarBegin.attTeam.angryCnt;
                localCached.defAPCount = aWarBegin.defTeam.angryCnt;

                break;

            case CMsgHeader.STATUS_ROUND_BEGIN:
                //回合开始
                RoundBegin(aHeader);
                break;

            case CMsgHeader.STATUS_PROPERTY_KILL:
                //属性相克
                Property_Kill(aHeader);
                break;

            case CMsgHeader.STATUS_ATTACK:
                NormalAttack(aHeader);
                break;

            case CMsgHeader.STATUS_WAR_END:
                WarEnd(aHeader);
                break;

            case CMsgHeader.STATUS_NSK_401:
            case CMsgHeader.STATUS_NSK_402:
            case CMsgHeader.STATUS_NSK_403:
            case CMsgHeader.STATUS_NSK_404:
            case CMsgHeader.STATUS_NSK_405:
            case CMsgHeader.STATUS_NSK_406:
            case CMsgHeader.STATUS_NSK_408:
            case CMsgHeader.STATUS_NSK_409:
            case CMsgHeader.STATUS_NSK_410:
            case CMsgHeader.STATUS_NSK_411:
            case CMsgHeader.STATUS_NSK_412:
            case CMsgHeader.STATUS_NSK_413:
            case CMsgHeader.STATUS_NSK_414:
            case CMsgHeader.STATUS_NSK_415:
            case CMsgHeader.STATUS_NSK_417:
            case CMsgHeader.STATUS_NSK_419:
            case CMsgHeader.STATUS_NSK_420:
                CastSkill(aHeader.status, aHeader);
                break;

            case CMsgHeader.STATUS_NSK_407:
            case CMsgHeader.STATUS_NSK_418:
                CastSkill(aHeader.status, aHeader, battleInfo, headerIndex);
                break;

            default:
                #if DEBUG
                BanTools.LogWarning(BanTools.Serialize(aHeader));
                #endif
                break;
            }
        }
    }