/// <summary> /// Applied after OnPrefabInit runs. /// </summary> /// <param name="__instance">The current instance.</param> internal static void Postfix(PlayerController __instance) { Options = POptions.ReadSettings <SweepByTypeOptions>(); PToolMode.RegisterTool <FilteredClearTool>(__instance); PUtil.LogDebug("Created FilteredClearTool with icons " + ((Options?. DisableIcons == true) ? "disabled" : "enabled")); }
protected override void OnActivateTool() { var menu = ToolMenu.Instance.toolParameterMenu; var toolModes = ListPool <PToolMode, PToolMode> .Allocate(); base.OnActivateTool(); // Create list of layers which can be destroyed bool found = false; foreach (var mode in modes) { var enable = ToolParameterMenu.ToggleState.Off; if (mode.ID == selectedTool && !found) { enable = ToolParameterMenu.ToggleState.On; found = true; } toolModes.Add(mode.GetMode(enable)); } if (menu != null) { options = PToolMode.PopulateMenu(menu, toolModes); menu.onParametersChanged += SaveToolMode; } toolModes.Recycle(); // Show the radius slider var sandboxMenu = SandboxToolParameterMenu.instance; sandboxMenu.gameObject.SetActive(true); sandboxMenu.DisableParameters(); sandboxMenu.brushRadiusSlider.row.SetActive(true); }
protected override void OnActivateTool() { var menu = ToolMenu.Instance.toolParameterMenu; var modes = ListPool <PToolMode, BulkChangeTool> .Allocate(); base.OnActivateTool(); // Create mode list foreach (var mode in BulkToolMode.AllTools()) { modes.Add(mode.ToToolMode(modes.Count == 0 ? ToolParameterMenu.ToggleState.On : ToolParameterMenu.ToggleState.Off)); } options = PToolMode.PopulateMenu(menu, modes); modes.Recycle(); // When the parameters are changed, update the view settings menu.onParametersChanged += UpdateViewMode; SetMode(Mode.Box); UpdateViewMode(); }
protected override void OnActivateTool() { var menu = ToolMenu.Instance.toolParameterMenu; base.OnActivateTool(); // Reuse the "Product Info" asset from BuildMenu to allow resource selection if (infoScreen == null) { infoScreen = Util.KInstantiateUI <ProductInfoScreen>(Traverse.Create( PlanScreen.Instance).GetField <GameObject>("productInfoScreenPrefab"), gameObject, false); infoScreen.Show(false); } ToolMenu.Instance.PriorityScreen.Show(true); // Default to "sweep all" optionState = PToolMode.PopulateMenu(menu, toolOptions); menu.onParametersChanged += UpdateViewMode; UpdateViewMode(); }
protected override void OnActivateTool() { var menu = ToolMenu.Instance.toolParameterMenu; var toolModes = ListPool <PToolMode, PToolMode> .Allocate(); int index = 0; base.OnActivateTool(); // Create list of layers which can be destroyed foreach (var mode in modes) { toolModes.Add(mode.GetMode((index++ == 0) ? ToolParameterMenu.ToggleState.On : ToolParameterMenu.ToggleState.Off)); } if (menu != null) { options = PToolMode.PopulateMenu(menu, toolModes); } toolModes.Recycle(); // Show the radius slider SandboxToolParameterMenu.instance.gameObject.SetActive(true); SandboxToolParameterMenu.instance.DisableParameters(); SandboxToolParameterMenu.instance.brushRadiusSlider.row.SetActive(true); }
/// <summary> /// Applied after OnPrefabInit runs. /// </summary> internal static void Postfix(PlayerController __instance) { PToolMode.RegisterTool <FilteredDestroyTool>(__instance); PUtil.LogDebug("Created FilteredDestroyTool"); }