private static void AddBattleProjectileAssets(Map map, BattleTypeVO battle, BattleDeploymentData defensiveWaveData, List <string> attackerWarBuffs, List <string> defenderWarBuffs, List <string> attackerEquipment, List <string> defenderEquipment, List <IAssetVO> assets, IDataController dc) { if (battle != null) { ProjectileUtils.AddTroopProjectileAssets(battle.TroopData, assets, dc); ProjectileUtils.AddSpecialAttackProjectileAssets(battle.SpecialAttackData, assets, dc); ProjectileUtils.AddTroopProjectileAssets(battle.HeroData, assets, dc); ProjectileUtils.AddTroopProjectileAssets(battle.ChampionData, assets, dc); if (!string.IsNullOrEmpty(battle.EncounterProfile)) { EncounterProfileVO optional = dc.GetOptional <EncounterProfileVO>(battle.EncounterProfile); if (optional != null && !string.IsNullOrEmpty(optional.GroupString)) { string[] array = optional.GroupString.Split(new char[] { '|' }); int i = 0; int num = array.Length; while (i < num) { if (!string.IsNullOrEmpty(array[i])) { string[] array2 = array[i].Split(new char[] { ',' }); if (array2.Length > 2) { ProjectileUtils.AddTroopProjectileAssets(array2[2], assets, dc); } } i++; } } } } if (defensiveWaveData != null) { ProjectileUtils.AddTroopProjectileAssets(defensiveWaveData.TroopData, assets, dc); ProjectileUtils.AddSpecialAttackProjectileAssets(defensiveWaveData.SpecialAttackData, assets, dc); ProjectileUtils.AddTroopProjectileAssets(defensiveWaveData.HeroData, assets, dc); ProjectileUtils.AddTroopProjectileAssets(defensiveWaveData.ChampionData, assets, dc); ProjectileUtils.AddTroopProjectileAssets(defensiveWaveData.SquadData, assets, dc); } ProjectileUtils.AddWarBuffAssets(attackerWarBuffs, assets, dc); ProjectileUtils.AddWarBuffAssets(defenderWarBuffs, assets, dc); ProjectileUtils.AddEquipmentAssets(attackerEquipment, assets, dc); ProjectileUtils.AddEquipmentAssets(defenderEquipment, assets, dc); ProjectileUtils.AddBuildingProjectileAssets(map, assets, dc); }
public unsafe static long $Invoke5(long instance, long *args) { ProjectileUtils.AddEquipmentAssets((List <string>)GCHandledObjects.GCHandleToObject(*args), (List <IAssetVO>)GCHandledObjects.GCHandleToObject(args[1]), (IDataController)GCHandledObjects.GCHandleToObject(args[2])); return(-1L); }