Exemple #1
0
 void HandleA3Mp()
 {
     foreach (var a3Mp in Arma2TerrainPacks.Select(m => InputMods
                                                   .FirstOrDefault(x => x.Name.Equals(m, StringComparison.InvariantCultureIgnoreCase)))
              .Where(a3Mp => a3Mp != null))
     {
         OutputMods.AddRange(a3Mp.GetPaths().OfType <IAbsoluteDirectoryPath>());
     }
 }
Exemple #2
0
 void ProcessIronFrontMods()
 {
     if (!InputMods.Any(x => ifMainModFolders.ContainsIgnoreCase(x.PackageName)))
     {
         return;
     }
     InputMods.RemoveAll(IsIronFrontFullOrLiteMod);
     OutputMods.AddRange(ExistingMods(GetOaPaths().Where(x => x != null).ToArray(), ifModFolders));
 }
Exemple #3
0
 void HandleA3Mp()
 {
     foreach (var a3Mp in Arma2TerrainPacks.Select(m => InputMods
                                                   .FirstOrDefault(x => x.PackageName.Equals(m, StringComparison.OrdinalIgnoreCase)))
              .Where(a3Mp => a3Mp != null))
     {
         OutputMods.AddRange(GetModPaths(a3Mp));
     }
 }
Exemple #4
0
 protected override void ProcessMods()
 {
     _additional    = new List <IAbsoluteDirectoryPath>();
     _additionalAiA = new List <IAbsoluteDirectoryPath>();
     _ifa           = IfaState.None;
     _nonAiaMods    = InputMods.Where(x => !IsAiaMod(x) && !IsAiaSAMod(x)).ToArray();
     ProcessIronFrontMods();
     AddPrimaryGameFolders();
     ProcessAndAddNormalModsWithAdditionalGameRequirements();
     AddNormalMods();
     ProcessAndAddAiaMods();
 }
Exemple #5
0
            void ProcessAndAddAiaMods()
            {
                //foreach (var mod in InputMods.Where(IsAiaMod))
                //ProcessModIfHasAdditionalGameRequirements(mod);

                foreach (var mod in InputMods.Where(IsAiaSAMod))
                {
                    ProcessAiaLiteMod(mod);
                }

                // problematic?
                //OutputMods.RemoveAll(x => x..Split('/', '\\').First().Equals("@allinarma", StringComparison.CurrentCultureIgnoreCase));
                OutputMods.RemoveAll(x => _additionalAiA.Contains(x));
                OutputMods.AddRange(_additionalAiA);
            }
Exemple #6
0
            void ProcessIronFrontMods()
            {
                if (InputMods.Any(x => ifMainModFolders.ContainsIgnoreCase(x.Name)))
                {
                    _ifa = IfaState.Full;
                }
                else if (InputMods.Any(x => ifMainModFoldersLite.ContainsIgnoreCase(x.Name)))
                {
                    _ifa = IfaState.Lite;
                }
                else
                {
                    return;
                }
                InputMods.RemoveAll(IsIronFrontFullOrLiteMod);
                var validGamePaths = GetValidGamePaths();

                OutputMods.AddRange(ExistingMods(validGamePaths, _ifa == IfaState.Lite ? ifModFoldersLite : ifModFolders));
                OutputMods.AddRange(ExistingMods(validGamePaths,
                                                 _ifa == IfaState.Lite ? ifMainModFoldersLite : ifMainModFolders));
            }
Exemple #7
0
 void AddNormalMods()
 {
     OutputMods.AddRange(InputMods.SelectMany(GetModPaths));
 }