Example #1
0
 public static void CollectCalculator(EntityParent caster, EntityParent target, int skillID, long calculateValue, BattleDmgTreatRcd.ENUM calculateType)
 {
     if (caster == null)
     {
         return;
     }
     if (target == null)
     {
         return;
     }
     if (skillID == 0)
     {
         return;
     }
     if (caster.IsEntitySelfType || caster.IsEntityPlayerType)
     {
         LocalBattleCalculatorCollector.casterServerType = GameObjectType.ENUM.Role;
     }
     else if (caster.IsEntityPetType)
     {
         LocalBattleCalculatorCollector.casterServerType = GameObjectType.ENUM.Pet;
     }
     else
     {
         if (!caster.IsEntityMonsterType)
         {
             return;
         }
         if (DataReader <Monster> .Get(caster.TypeID).damageCollect != 1)
         {
             return;
         }
         LocalBattleCalculatorCollector.casterServerType = GameObjectType.ENUM.Monster;
     }
     if (target.IsEntitySelfType || target.IsEntityPlayerType)
     {
         LocalBattleCalculatorCollector.targetServerType = GameObjectType.ENUM.Role;
     }
     else if (target.IsEntityPetType)
     {
         LocalBattleCalculatorCollector.targetServerType = GameObjectType.ENUM.Pet;
     }
     else
     {
         if (!target.IsEntityMonsterType)
         {
             return;
         }
         if (DataReader <Monster> .Get(target.TypeID).damageCollect != 1)
         {
             return;
         }
         LocalBattleCalculatorCollector.targetServerType = GameObjectType.ENUM.Monster;
     }
     if (caster.IsEntityPlayerType)
     {
         LocalBattleCalculatorCollector.isFuse    = (caster as EntitySelf).IsFuse;
         LocalBattleCalculatorCollector.fusePetID = (caster as EntitySelf).FusePetID;
     }
     else if (caster.IsEntitySelfType)
     {
         LocalBattleCalculatorCollector.isFuse    = (caster as EntityPlayer).IsFuse;
         LocalBattleCalculatorCollector.fusePetID = (caster as EntityPlayer).FusePetID;
     }
     else
     {
         LocalBattleCalculatorCollector.isFuse    = false;
         LocalBattleCalculatorCollector.fusePetID = 0;
     }
     BattleDmgCollectManager.Instance.CollectDamageHeal(LocalBattleCalculatorCollector.casterServerType, (CampType.ENUM)caster.Camp, caster.IsLogicBoss, caster.ID, caster.OwnerID, caster.TypeID, caster.Name, LocalBattleCalculatorCollector.targetServerType, (CampType.ENUM)target.Camp, target.IsLogicBoss, target.ID, target.OwnerID, target.TypeID, target.Name, calculateType, target.ID, target.OwnerID, skillID, LocalBattleCalculatorCollector.fusePetID, LocalBattleCalculatorCollector.isFuse, calculateValue);
 }
    public void CollectDamageHeal(GameObjectType.ENUM wrapTypeActive, CampType.ENUM campActive, bool isBossActive, long soldierIdActive, long ownerIdActive, int soldierTypeIdActive, string soldierNameActive, GameObjectType.ENUM wrapTypeInActive, CampType.ENUM campInActive, bool isBossInActive, long soldierIdInActive, long ownerIdInActive, int soldierTypeIdInActive, string soldierNameInActive, BattleDmgTreatRcd.ENUM battleDmgTreatRcdType, long targetId, long targetOwnerID, int skillId, int fitPetID, bool isFit, long battleDmgTreatRcdValue)
    {
        ChallengeResult.SoldierSettleInfo soldierSettleInfo;
        if (!this.localDicSoldierSettleInfo.ContainsKey(soldierIdActive))
        {
            soldierSettleInfo = new ChallengeResult.SoldierSettleInfo();
            this.localSoldierSettleInfos.Add(soldierSettleInfo);
            this.localDicSoldierSettleInfo.Add(soldierIdActive, soldierSettleInfo);
            soldierSettleInfo.dmgTreatRcds  = new BattleDmgTreatRcdsCustom();
            soldierSettleInfo.camp          = campActive;
            soldierSettleInfo.isBoss        = isBossActive;
            soldierSettleInfo.ownerId       = ownerIdActive;
            soldierSettleInfo.soldierId     = soldierIdActive;
            soldierSettleInfo.soldierName   = soldierNameActive;
            soldierSettleInfo.soldierTypeId = soldierTypeIdActive;
            soldierSettleInfo.wrapType      = wrapTypeActive;
        }
        soldierSettleInfo = this.localDicSoldierSettleInfo.get_Item(soldierIdActive);
        string text = soldierIdInActive.ToString() + skillId.ToString() + fitPetID.ToString();
        BattleDmgTreatRcdsCustom battleDmgTreatRcdsCustom = (BattleDmgTreatRcdsCustom)soldierSettleInfo.dmgTreatRcds;
        BattleDmgTreatRcd        battleDmgTreatRcd;

        if (!battleDmgTreatRcdsCustom.dicBattleDmgTreatRcds.ContainsKey(text))
        {
            battleDmgTreatRcd = new BattleDmgTreatRcd();
            battleDmgTreatRcdsCustom.dicBattleDmgTreatRcds.Add(text, battleDmgTreatRcd);
            battleDmgTreatRcdsCustom.actives.Add(battleDmgTreatRcd);
            battleDmgTreatRcd.fitPetTypeId = fitPetID;
            battleDmgTreatRcd.isActive     = true;
            battleDmgTreatRcd.ownerId      = ownerIdActive;
            battleDmgTreatRcd.skillId      = skillId;
            battleDmgTreatRcd.targetId     = soldierIdInActive;
            battleDmgTreatRcd.type         = battleDmgTreatRcdType;
        }
        battleDmgTreatRcd      = battleDmgTreatRcdsCustom.dicBattleDmgTreatRcds.get_Item(text);
        battleDmgTreatRcd.val += battleDmgTreatRcdValue;
        ChallengeResult.SoldierSettleInfo soldierSettleInfo2;
        if (!this.localDicSoldierSettleInfo.ContainsKey(soldierIdInActive))
        {
            soldierSettleInfo2 = new ChallengeResult.SoldierSettleInfo();
            this.localSoldierSettleInfos.Add(soldierSettleInfo2);
            this.localDicSoldierSettleInfo.Add(soldierIdInActive, soldierSettleInfo2);
            soldierSettleInfo2.dmgTreatRcds  = new BattleDmgTreatRcdsCustom();
            soldierSettleInfo2.camp          = campInActive;
            soldierSettleInfo2.isBoss        = isBossInActive;
            soldierSettleInfo2.ownerId       = ownerIdInActive;
            soldierSettleInfo2.soldierId     = soldierIdInActive;
            soldierSettleInfo2.soldierName   = soldierNameInActive;
            soldierSettleInfo2.soldierTypeId = soldierTypeIdInActive;
            soldierSettleInfo2.wrapType      = wrapTypeInActive;
        }
        soldierSettleInfo2 = this.localDicSoldierSettleInfo.get_Item(soldierIdInActive);
        string text2 = soldierIdActive.ToString() + skillId.ToString() + fitPetID.ToString();
        BattleDmgTreatRcdsCustom battleDmgTreatRcdsCustom2 = (BattleDmgTreatRcdsCustom)soldierSettleInfo2.dmgTreatRcds;
        BattleDmgTreatRcd        battleDmgTreatRcd2;

        if (!battleDmgTreatRcdsCustom2.dicBattleDmgTreatRcds.ContainsKey(text2))
        {
            battleDmgTreatRcd2 = new BattleDmgTreatRcd();
            battleDmgTreatRcdsCustom2.dicBattleDmgTreatRcds.Add(text2, battleDmgTreatRcd2);
            battleDmgTreatRcdsCustom2.inActives.Add(battleDmgTreatRcd2);
            battleDmgTreatRcd2.fitPetTypeId = fitPetID;
            battleDmgTreatRcd2.isActive     = false;
            battleDmgTreatRcd2.ownerId      = ownerIdInActive;
            battleDmgTreatRcd2.skillId      = skillId;
            battleDmgTreatRcd2.targetId     = soldierIdActive;
            battleDmgTreatRcd2.type         = battleDmgTreatRcdType;
        }
        battleDmgTreatRcd2      = battleDmgTreatRcdsCustom2.dicBattleDmgTreatRcds.get_Item(text2);
        battleDmgTreatRcd2.val += battleDmgTreatRcdValue;
    }