public static IEnumerable <Scenario> ScenariosInCategory(ScenarioCategory cat)
 {
     ScenarioLister.RecacheIfDirty();
     if (cat == ScenarioCategory.FromDef)
     {
         foreach (ScenarioDef scenDef in DefDatabase <ScenarioDef> .AllDefs)
         {
             yield return(scenDef.scenario);
         }
     }
     else if (cat == ScenarioCategory.CustomLocal)
     {
         foreach (Scenario scen in ScenarioFiles.AllScenariosLocal)
         {
             yield return(scen);
         }
     }
     else if (cat == ScenarioCategory.SteamWorkshop)
     {
         foreach (Scenario scen2 in ScenarioFiles.AllScenariosWorkshop)
         {
             yield return(scen2);
         }
     }
     yield break;
 }
Пример #2
0
 public static bool TryLoadScenario(string absPath, ScenarioCategory category, out Scenario scen)
 {
     scen = null;
     try
     {
         Scribe.loader.InitLoading(absPath);
         try
         {
             ScribeMetaHeaderUtility.LoadGameDataHeader(ScribeMetaHeaderUtility.ScribeHeaderMode.Scenario, true);
             Scribe_Deep.Look <Scenario>(ref scen, "scenario", new object[0]);
             Scribe.loader.FinalizeLoading();
         }
         catch
         {
             Scribe.ForceStop();
             throw;
         }
         scen.fileName = Path.GetFileNameWithoutExtension(new FileInfo(absPath).Name);
         scen.Category = category;
     }
     catch (Exception ex)
     {
         Log.Error("Exception loading scenario: " + ex.ToString(), false);
         scen = null;
         Scribe.ForceStop();
     }
     return(scen != null);
 }
        public static IEnumerable <Scenario> ScenariosInCategory(ScenarioCategory cat)
        {
            RecacheIfDirty();
            switch (cat)
            {
            case ScenarioCategory.FromDef:
                foreach (ScenarioDef allDef in DefDatabase <ScenarioDef> .AllDefs)
                {
                    yield return(allDef.scenario);
                }
                break;

            case ScenarioCategory.CustomLocal:
                foreach (Scenario item in ScenarioFiles.AllScenariosLocal)
                {
                    yield return(item);
                }
                break;

            case ScenarioCategory.SteamWorkshop:
                foreach (Scenario item2 in ScenarioFiles.AllScenariosWorkshop)
                {
                    yield return(item2);
                }
                break;
            }
        }
Пример #4
0
        public static IEnumerable <Scenario> ScenariosInCategory(ScenarioCategory cat)
        {
            ScenarioLister.RecacheIfDirty();
            switch (cat)
            {
            case ScenarioCategory.FromDef:
                using (IEnumerator <ScenarioDef> enumerator3 = DefDatabase <ScenarioDef> .AllDefs.GetEnumerator())
                {
                    if (enumerator3.MoveNext())
                    {
                        ScenarioDef scenDef = enumerator3.Current;
                        yield return(scenDef.scenario);

                        /*Error: Unable to find new state assignment for yield return*/;
                    }
                }
                break;

            case ScenarioCategory.CustomLocal:
                using (IEnumerator <Scenario> enumerator2 = ScenarioFiles.AllScenariosLocal.GetEnumerator())
                {
                    if (enumerator2.MoveNext())
                    {
                        Scenario scen2 = enumerator2.Current;
                        yield return(scen2);

                        /*Error: Unable to find new state assignment for yield return*/;
                    }
                }
                break;

            case ScenarioCategory.SteamWorkshop:
                using (IEnumerator <Scenario> enumerator = ScenarioFiles.AllScenariosWorkshop.GetEnumerator())
                {
                    if (enumerator.MoveNext())
                    {
                        Scenario scen = enumerator.Current;
                        yield return(scen);

                        /*Error: Unable to find new state assignment for yield return*/;
                    }
                }
                break;
            }
            yield break;
IL_0201:
            /*Error near IL_0202: Unexpected return in MoveNext()*/;
        }
Пример #5
0
 public Prop([NotNull] string name, ScenarioCategory category, [CanBeNull] string comment)
 {
     Name     = name;
     Category = category;
     Comment  = comment;
 }
        public static IEnumerable <Scenario> ScenariosInCategoryPostfix(IEnumerable <Scenario> __result, ScenarioCategory cat)
        {
            foreach (Scenario scen in __result)
            {
                if (!DefDatabase <ScenarioDef> .AllDefsListForReading.Any(x => x.scenario.name == scen.name))
                {
                    yield return(scen);

                    continue;
                }
                if (cat == ScenarioCategory.FromDef)
                {
                    ScenarioDef scenDef = DefDatabase <ScenarioDef> .AllDefsListForReading.Find(x => x.scenario.name == scen.name);

                    //   Log.Message("checking name: " + scen.name+ " def: "+ scenDef.defName);
                    if (scenDef.defName.Contains("OGAM_TestScenario_") && SteamUtility.SteamPersonaName != "Ogliss")
                    {
                        //    Log.Message("skipping "+ scen.name);
                        continue;
                    }
                    if (scenDef.defName.Contains("OG_Ork_Tek_Scenario_Test") || scenDef.defName.Contains("OG_Ork_Feral_Tribe") || scenDef.defName.Contains("OG_Eldar_Craftworld_Scenario_Test"))
                    {
                        //    Log.Message("skipping "+ scen.name);
                        continue;
                    }
                    if (scenDef.defName.Contains("OG_Astartes_"))
                    {
                        if (!AMAMod.settings.AllowAdeptusAstartes)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Mechanicus_"))
                    {
                        if (!AMAMod.settings.AllowAdeptusMechanicus)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Militarum_"))
                    {
                        if (!AMAMod.settings.AllowAdeptusMilitarum)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Sororitas_"))
                    {
                        if (!AMAMod.settings.AllowAdeptusSororitas)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Choas_Deamons_"))
                    {
                        if (!AMAMod.settings.AllowChaosDeamons)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Choas_Guard_"))
                    {
                        if (!AMAMod.settings.AllowChaosGuard)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Choas_Marine_"))
                    {
                        if (!AMAMod.settings.AllowChaosMarine)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Choas_Mechanicus_"))
                    {
                        if (!AMAMod.settings.AllowChaosMechanicus)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_DarkEldar_"))
                    {
                        if (!AMAMod.settings.AllowDarkEldar)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Eldar_"))
                    {
                        if (scenDef.defName.Contains("Craftworld"))
                        {
                            if (!AMAMod.settings.AllowEldarCraftworld)
                            {
                                continue;
                            }
                        }
                        if (scenDef.defName.Contains("Exodite"))
                        {
                            if (!AMAMod.settings.AllowEldarExodite)
                            {
                                continue;
                            }
                        }
                        if (scenDef.defName.Contains("Harlequinn"))
                        {
                            if (!AMAMod.settings.AllowEldarHarlequinn)
                            {
                                continue;
                            }
                        }
                    }

                    if (scenDef.defName.Contains("OG_Tau_"))
                    {
                        if (!AMAMod.settings.AllowTau)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Kroot_"))
                    {
                        if (!AMAMod.settings.AllowKroot)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Vespid_"))
                    {
                        if (!AMAMod.settings.AllowVespidAuxiliaries)
                        {
                            continue;
                        }
                    }

                    if (scenDef.defName.Contains("OG_Ork_") || scenDef.defName.Contains("OG_Grot_"))
                    {
                        if (scenDef.defName.Contains("Tek"))
                        {
                            if (!AMAMod.settings.AllowOrkTek)
                            {
                                continue;
                            }
                        }
                        if (scenDef.defName.Contains("Feral"))
                        {
                            if (!AMAMod.settings.AllowOrkFeral)
                            {
                                continue;
                            }
                        }
                    }
                }
                yield return(scen);
            }
            yield break;
        }
Пример #7
0
        public static IEnumerable <Scenario> ScenariosInCategoryPrefix(IEnumerable <Scenario> __result, ScenarioCategory cat)
        {
            foreach (Scenario scen in __result)
            {
                if (!DefDatabase <ScenarioDef> .AllDefsListForReading.Any(x => x.scenario.name == scen.name))
                {
                    continue;
                }
                if (cat == ScenarioCategory.FromDef)
                {
                }
                ScenarioDef scenDef = DefDatabase <ScenarioDef> .AllDefsListForReading.Find(x => x.scenario.name == scen.name);

                if (scenDef.defName.Contains("OG_Astartes_"))
                {
                    if (!AMAMod.settings.AllowAdeptusAstartes)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Mechanicus_"))
                {
                    if (!AMAMod.settings.AllowAdeptusMechanicus)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Militarum_"))
                {
                    if (!AMAMod.settings.AllowAdeptusMilitarum)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Sororitas_"))
                {
                    if (!AMAMod.settings.AllowAdeptusSororitas)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Choas_Deamons_"))
                {
                    if (!AMAMod.settings.AllowChaosDeamons)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Choas_Guard_"))
                {
                    if (!AMAMod.settings.AllowChaosGuard)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Choas_Marine_"))
                {
                    if (!AMAMod.settings.AllowChaosMarine)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Choas_Mechanicus_"))
                {
                    if (!AMAMod.settings.AllowChaosMechanicus)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Dark_Eldar_"))
                {
                    if (!AMAMod.settings.AllowDarkEldar)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Eldar_"))
                {
                    if (scenDef.defName.Contains("Craftworld"))
                    {
                        if (!AMAMod.settings.AllowEldarCraftworld)
                        {
                            continue;
                        }
                    }
                    if (scenDef.defName.Contains("Exodite"))
                    {
                        if (!AMAMod.settings.AllowEldarExodite)
                        {
                            continue;
                        }
                    }
                    if (scenDef.defName.Contains("Harlequinn"))
                    {
                        if (!AMAMod.settings.AllowEldarHarlequinn)
                        {
                            continue;
                        }
                    }
                }

                if (scenDef.defName.Contains("OG_Tau_"))
                {
                    if (!AMAMod.settings.AllowTau)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Kroot_"))
                {
                    if (!AMAMod.settings.AllowKroot)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Vespid_"))
                {
                    if (!AMAMod.settings.AllowVespidAuxiliaries)
                    {
                        continue;
                    }
                }

                if (scenDef.defName.Contains("OG_Ork_") || scenDef.defName.Contains("OG_Grot_"))
                {
                    if (scenDef.defName.Contains("Tek"))
                    {
                        if (!AMAMod.settings.AllowOrkTek)
                        {
                            continue;
                        }
                    }
                    if (scenDef.defName.Contains("Feral"))
                    {
                        if (!AMAMod.settings.AllowOrkFeral)
                        {
                            continue;
                        }
                    }
                }
                yield return(scen);
            }
            yield break;
        }
 public ScenarioCommentAttribute([NotNull] string text, ScenarioCategory category)
 {
     Text     = text;
     Category = category;
 }
 public static IEnumerable <Scenario> ScenariosInCategoryPrefix(IEnumerable <Scenario> scenario, ScenarioCategory cat)
 {
     if (cat == ScenarioCategory.FromDef)
     {
         IEnumerable <ScenarioDef> scenarios = null;
         scenarios = DefDatabase <ScenarioDef> .AllDefs;
         foreach (ScenarioDef scenDef in DefDatabase <ScenarioDef> .AllDefs)
         {
             //    Log.Message(string.Format("Found {0}", scenarios.Count()));
             if ((!scenDef.defName.Contains("Yautja") && !SettingsHelper.latest.AllowYautjaFaction) || SettingsHelper.latest.AllowYautjaFaction)
             {
                 yield return(scenDef.scenario);
             }
         }
     }
     else if (cat == ScenarioCategory.CustomLocal)
     {
         IEnumerable <Scenario> scenarios = ScenarioFiles.AllScenariosLocal;
         foreach (Scenario scen in scenarios)
         {
             //    Log.Message(string.Format("Found {0}", scenarios.Count()));
             if ((!scen.name.Contains("Yautja") && !SettingsHelper.latest.AllowYautjaFaction) || SettingsHelper.latest.AllowYautjaFaction)
             {
                 yield return(scen);
             }
         }
     }
     else if (cat == ScenarioCategory.SteamWorkshop)
     {
         IEnumerable <Scenario> scenarios = ScenarioFiles.AllScenariosWorkshop;
         foreach (Scenario scen2 in scenarios)
         {
             //    Log.Message(string.Format("Found {0}", scenarios.Count()));
             if ((!scen2.name.Contains("Yautja") && !SettingsHelper.latest.AllowYautjaFaction) || SettingsHelper.latest.AllowYautjaFaction)
             {
                 yield return(scen2);
             }
         }
     }
     yield break;
 }