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); }
private IEnumerator WaitForLoadingCurtain(SkirmishSettings_Beta skirmishMenu) { while (!ReadyToLoadQuickSkirmish) { yield return(new WaitForSeconds(0.1f)); } LoadQuickSkirmishMap(skirmishMenu); }
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); } }
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)); }
private void LoadQuickSkirmishMap(SkirmishSettings_Beta skirmishMenu) { AccessTools.Method(typeof(SkirmishSettings_Beta), "LaunchMap").Invoke(skirmishMenu, null); }