static bool Prefix(SkirmishSettings_Beta __instance, ref LanceConfiguration __result)
        {
            if (UiManager.Instance.ClickedQuickSkirmish)
            {
                Main.Logger.Log($"[SkirmishSettingsBetaFinalizeLancesPatch Prefix] Patching FinalizeLances");
                CloudUserSettings playerSettings = ActiveOrDefaultSettings.CloudSettings;
                LastUsedLances    lastUsedLances = playerSettings.LastUsedLances;

                if (lastUsedLances.ContainsKey(UNLIMITED_LANCE_COST))
                {
                    __result = lastUsedLances[UNLIMITED_LANCE_COST];
                }
                else if (lastUsedLances.ContainsKey(WAR_LANCE_COST))
                {
                    __result = lastUsedLances[WAR_LANCE_COST];
                }
                else if (lastUsedLances.ContainsKey(BATTLE_LANCE_COST))
                {
                    __result = lastUsedLances[BATTLE_LANCE_COST];
                }
                else if (lastUsedLances.ContainsKey(CLASH_LANCE_COST))
                {
                    __result = lastUsedLances[CLASH_LANCE_COST];
                }
                else
                {
                    Main.Logger.LogError("[Quick Skirmish] Quick Skirmish cannot be used without a prevously used lance. Go into skirmish and launch at least once");
                }
                return(false);
            }
            return(true);
        }
Example #2
0
 private IEnumerator WaitForLoadingCurtain(SkirmishSettings_Beta skirmishMenu)
 {
     while (!ReadyToLoadQuickSkirmish)
     {
         yield return(new WaitForSeconds(0.1f));
     }
     LoadQuickSkirmishMap(skirmishMenu);
 }
Example #3
0
        public static void Postfix(SkirmishSettings_Beta __instance, HBS_Dropdown ___lanceBudgetDropdown)
        {
            Mod.Log.Trace?.Write("SS_B:OLC - ENTERED!");

            Traverse initLanceModuleT = Traverse.Create(__instance).Method("InitializeLanceModules", new object[] { 3 });

            initLanceModuleT.GetValue();

            Mod.Log.Info?.Write("Set battlevalue to 3");
        }
 public static void Prefix(SkirmishSettings_Beta __instance, UIManager ___uiManager)
 {
     try
     {
         BattleTechLoadFixFeature.PreloadComponents(___uiManager.dataManager);
     }
     catch (Exception e)
     {
         Control.mod.Logger.LogError(e);
     }
 }
 public static void Prefix(SkirmishSettings_Beta __instance, UIManager ___uiManager)
 {
     try
     {
         MechDefMods.PostProcessAfterLoading(___uiManager.dataManager);
     }
     catch (Exception e)
     {
         Control.mod.Logger.LogError(e);
     }
 }
 public static void Prefix(SkirmishSettings_Beta __instance, UIManager ___uiManager)
 {
     try
     {
         BTLoadUtils.PreloadComponents(___uiManager.dataManager);
     }
     catch (Exception e)
     {
         Control.LogError(e);
     }
 }
 public static void Prefix(SkirmishSettings_Beta __instance, UIManager ___uiManager)
 {
     try
     {
         var mechDefs = ___uiManager.dataManager.MechDefs.Select(pair => pair.Value).ToList();
         AutoFixer.Shared.FixMechDef(mechDefs);
     }
     catch (Exception e)
     {
         Control.LogError(e);
     }
 }
        public static void Prefix(SkirmishSettings_Beta __instance, UIManager ___uiManager, ref List <MechDef> ___stockMechs)
        {
            try
            {
                var mechDefs = ___uiManager.dataManager.MechDefs.Select(pair => pair.Value).ToList();
                AutoFixer.Shared.FixMechDef(mechDefs);

                ___stockMechs = mechDefs.Where(x => MechValidationRules.MechIsValidForSkirmish(x, false)).ToList();
            }
            catch (Exception e)
            {
                Control.LogError(e);
            }
        }
 public static void Prefix(SkirmishSettings_Beta __instance, UIManager ___uiManager)
 {
     try
     {
         ___uiManager.dataManager.RequestAllResourcesOfType(BattleTechResourceType.HeatSinkDef);
         ___uiManager.dataManager.RequestAllResourcesOfType(BattleTechResourceType.UpgradeDef);
         ___uiManager.dataManager.RequestAllResourcesOfType(BattleTechResourceType.WeaponDef);
         ___uiManager.dataManager.RequestAllResourcesOfType(BattleTechResourceType.AmmunitionBoxDef);
     }
     catch (Exception e)
     {
         Control.mod.Logger.LogError(e);
     }
 }
Example #10
0
        private IEnumerator WaitForInitialCurtainToShow()
        {
            yield return(null);

            ClickedQuickSkirmish = true;

            GameObject            skirmishMenuGo = new GameObject("SkirmishMenuBypass");
            SkirmishSettings_Beta skirmishMenu   = skirmishMenuGo.AddComponent <SkirmishSettings_Beta>();

            AccessTools.Field(typeof(SkirmishSettings_Beta), "playButton").SetValue(skirmishMenu, new HBSDOTweenButton());
            AccessTools.Field(typeof(SkirmishSettings_Beta), "playerLancePreview").SetValue(skirmishMenu, new LancePreviewPanel());
            AccessTools.Field(typeof(SkirmishSettings_Beta), "opponentLancePreview").SetValue(skirmishMenu, new LancePreviewPanel());
            AccessTools.Field(typeof(SkirmishSettings_Beta), "playerSettings").SetValue(skirmishMenu, ActiveOrDefaultSettings.CloudSettings);
            AccessTools.Field(typeof(SkirmishSettings_Beta), "mapModule").SetValue(skirmishMenu, new MapModule());
            AccessTools.Field(typeof(SkirmishSettings_Beta), "lanceBudgetDropdown").SetValue(skirmishMenu, new MockTMPDropdown());

            skirmishMenu.Init();
            AccessTools.Method(typeof(SkirmishSettings_Beta), "LoadLanceConfiguratorData").Invoke(skirmishMenu, null);

            UnityGameInstance.Instance.StartCoroutine(WaitForLoadingCurtain(skirmishMenu));
        }
Example #11
0
 private void LoadQuickSkirmishMap(SkirmishSettings_Beta skirmishMenu)
 {
     AccessTools.Method(typeof(SkirmishSettings_Beta), "LaunchMap").Invoke(skirmishMenu, null);
 }