public override void Declare () { label = "Button"; hotspotLabel = ""; hotspotLabelID = -1; isVisible = true; isClickable = true; textEffects = TextEffects.None; buttonClickType = AC_ButtonClickType.RunActionList; simulateInput = SimulateInputType.Button; simulateValue = 1f; numSlots = 1; anchor = TextAnchor.MiddleCenter; SetSize (new Vector2 (10f, 5f)); doFade = false; switchMenuTitle = ""; inventoryBoxTitle = ""; shiftInventory = AC_ShiftInventory.ShiftLeft; loopJournal = false; actionList = null; inputAxis = ""; clickTexture = null; clickAlpha = 0f; shiftAmount = 1; onlyShowWhenEffective = false; allowContinuousClick = false; base.Declare (); }
/** * Initialises the element when it is created within MenuManager. */ public override void Declare() { uiButton = null; uiText = null; label = "Button"; hotspotLabel = ""; hotspotLabelID = -1; isVisible = true; isClickable = true; textEffects = TextEffects.None; buttonClickType = AC_ButtonClickType.RunActionList; simulateInput = SimulateInputType.Button; simulateValue = 1f; numSlots = 1; anchor = TextAnchor.MiddleCenter; SetSize(new Vector2(10f, 5f)); doFade = false; switchMenuTitle = ""; inventoryBoxTitle = ""; shiftInventory = AC_ShiftInventory.ShiftLeft; loopJournal = false; actionList = null; inputAxis = ""; clickTexture = null; clickAlpha = 0f; shiftAmount = 1; onlyShowWhenEffective = false; allowContinuousClick = false; parameterID = -1; parameterValue = 0; base.Declare(); }
/** * <summary>Copies the values from another MenuButton instance.</summary> * <param name = "_element">The MenuButton to copy values from</param> */ public void CopyButton(MenuButton _element) { uiButton = _element.uiButton; uiText = _element.uiText; label = _element.label; hotspotLabel = _element.hotspotLabel; hotspotLabelID = _element.hotspotLabelID; anchor = _element.anchor; textEffects = _element.textEffects; buttonClickType = _element.buttonClickType; simulateInput = _element.simulateInput; simulateValue = _element.simulateValue; doFade = _element.doFade; switchMenuTitle = _element.switchMenuTitle; inventoryBoxTitle = _element.inventoryBoxTitle; shiftInventory = _element.shiftInventory; loopJournal = _element.loopJournal; actionList = _element.actionList; inputAxis = _element.inputAxis; clickTexture = _element.clickTexture; clickAlpha = _element.clickAlpha; shiftAmount = _element.shiftAmount; onlyShowWhenEffective = _element.onlyShowWhenEffective; allowContinuousClick = _element.allowContinuousClick; parameterID = _element.parameterID; parameterValue = _element.parameterValue; base.Copy(_element); }
public void CopyButton(MenuButton _element) { uiButton = _element.uiButton; uiText = _element.uiText; label = _element.label; hotspotLabel = _element.hotspotLabel; hotspotLabelID = _element.hotspotLabelID; anchor = _element.anchor; textEffects = _element.textEffects; buttonClickType = _element.buttonClickType; simulateInput = _element.simulateInput; simulateValue = _element.simulateValue; doFade = _element.doFade; switchMenuTitle = _element.switchMenuTitle; inventoryBoxTitle = _element.inventoryBoxTitle; shiftInventory = _element.shiftInventory; loopJournal = _element.loopJournal; actionList = _element.actionList; inputAxis = _element.inputAxis; clickTexture = _element.clickTexture; clickAlpha = _element.clickAlpha; shiftAmount = _element.shiftAmount; onlyShowWhenEffective = _element.onlyShowWhenEffective; allowContinuousClick = _element.allowContinuousClick; parameterID = _element.parameterID; parameterValue = _element.parameterValue; base.Copy (_element); }
/** * <summary>A Constructor in which the unique identifier is explicitly set.</summary> * <param name = "_ID">The unique identifier</param> */ public ActiveInput(int _ID) { inputName = ""; gameState = GameState.Normal; actionListAsset = null; enabledOnStart = true; ID = _ID; inputType = SimulateInputType.Button; axisThreshold = 0.2f; }
/** * <summary>A Constructor in which the unique identifier is explicitly set.</summary> * <param name = "_ID">The unique identifier</param> */ public ActiveInput(int _ID) { inputName = string.Empty; gameState = GameState.Normal; actionListAsset = null; enabledOnStart = true; ID = _ID; inputType = SimulateInputType.Button; buttonType = ActiveInputButtonType.OnButtonDown; axisThreshold = 0.2f; }
/** * <summary>A Constructor in which the unique identifier is explicitly set.</summary> * <param name = "_ID">The unique identifier</param> */ public ActiveInput(int _ID) { inputName = ""; gameState = GameState.Normal; actionListAsset = null; enabledOnStart = true; ID = _ID; inputType = SimulateInputType.Button; axisThreshold = 0.2f; #if UNITY_EDITOR isEditing = false; #endif }
public void ShowGUI() { string defaultName = "ActiveInput_" + Label; label = CustomGUILayout.TextField("Label:", label, string.Empty, "An Editor-friendly name"); inputName = CustomGUILayout.TextField("Input button:", inputName, string.Empty, "The name of the Input button, as defined in the Input Manager"); inputType = (SimulateInputType)CustomGUILayout.EnumPopup("Input type:", inputType, string.Empty, "What type of input is expected"); if (inputType == SimulateInputType.Axis) { axisThreshold = CustomGUILayout.Slider("Axis threshold:", axisThreshold, -1f, 1f, string.Empty, "The threshold value for the axis to trigger the ActionListAsset"); } else if (inputType == SimulateInputType.Button) { buttonType = (ActiveInputButtonType)CustomGUILayout.EnumPopup("Responds to:", buttonType, string.Empty, "What type of button press this responds to"); } enabledOnStart = CustomGUILayout.Toggle("Enabled by default?", enabledOnStart, string.Empty, "If True, the active input is enabled when the game begins"); gameState = (GameState)CustomGUILayout.EnumPopup("Available when game is:", gameState, string.Empty, "What state the game must be in for the actionListAsset to run"); actionListAsset = ActionListAssetMenu.AssetGUI("ActionList when triggered:", actionListAsset, defaultName, string.Empty, "The ActionListAsset to run when the input button is pressed"); }
/** * The default Constructor. */ public ActiveInput(int[] idArray) { inputName = ""; gameState = GameState.Normal; actionListAsset = null; enabledOnStart = true; ID = 1; inputType = SimulateInputType.Button; axisThreshold = 0.2f; // Update id based on array foreach (int _id in idArray) { if (ID == _id) { ID++; } } }
private void CopyButton(MenuButton _element, bool ignoreUnityUI) { if (ignoreUnityUI) { uiButton = null; uiText = null; } else { uiButton = _element.uiButton; uiText = _element.uiText; } uiPointerState = _element.uiPointerState; label = _element.label; hotspotLabel = _element.hotspotLabel; hotspotLabelID = _element.hotspotLabelID; anchor = _element.anchor; textEffects = _element.textEffects; outlineSize = _element.outlineSize; buttonClickType = _element.buttonClickType; simulateInput = _element.simulateInput; simulateValue = _element.simulateValue; doFade = _element.doFade; switchMenuTitle = _element.switchMenuTitle; inventoryBoxTitle = _element.inventoryBoxTitle; shiftInventory = _element.shiftInventory; loopJournal = _element.loopJournal; actionList = _element.actionList; inputAxis = _element.inputAxis; clickTexture = _element.clickTexture; clickAlpha = _element.clickAlpha; shiftAmount = _element.shiftAmount; onlyShowWhenEffective = _element.onlyShowWhenEffective; allowContinuousClick = _element.allowContinuousClick; parameterID = _element.parameterID; parameterValue = _element.parameterValue; uiSelectableHideStyle = _element.uiSelectableHideStyle; base.Copy(_element); }
/** * Initialises the element when it is created within MenuManager. */ public override void Declare() { uiText = null; uiButton = null; uiPointerState = UIPointerState.PointerClick; label = "Button"; hotspotLabel = string.Empty; hotspotLabelID = -1; isVisible = true; isClickable = true; textEffects = TextEffects.None; outlineSize = 2f; buttonClickType = AC_ButtonClickType.RunActionList; simulateInput = SimulateInputType.Button; simulateValue = 1f; numSlots = 1; anchor = TextAnchor.MiddleCenter; SetSize(new Vector2(10f, 5f)); doFade = false; switchMenuTitle = string.Empty; inventoryBoxTitle = string.Empty; shiftInventory = AC_ShiftInventory.ShiftPrevious; loopJournal = false; actionList = null; inputAxis = ""; clickTexture = null; clickAlpha = 0f; shiftAmount = 1; onlyShowWhenEffective = false; allowContinuousClick = false; parameterID = -1; parameterValue = 0; uiSelectableHideStyle = UISelectableHideStyle.DisableObject; base.Declare(); }
public override void ShowGUI () { EditorGUILayout.BeginVertical ("Button"); label = EditorGUILayout.TextField ("Button text:", label); anchor = (TextAnchor) EditorGUILayout.EnumPopup ("Text alignment:", anchor); textEffects = (TextEffects) EditorGUILayout.EnumPopup ("Text effect:", textEffects); hotspotLabel = EditorGUILayout.TextField ("Hotspot label override:", hotspotLabel); EditorGUILayout.BeginHorizontal (); EditorGUILayout.LabelField ("Click texture:", GUILayout.Width (145f)); clickTexture = (Texture2D) EditorGUILayout.ObjectField (clickTexture, typeof (Texture2D), false, GUILayout.Width (70f), GUILayout.Height (30f)); EditorGUILayout.EndHorizontal (); buttonClickType = (AC_ButtonClickType) EditorGUILayout.EnumPopup ("Click type:", buttonClickType); if (buttonClickType == AC_ButtonClickType.TurnOffMenu) { doFade = EditorGUILayout.Toggle ("Do transition?", doFade); } else if (buttonClickType == AC_ButtonClickType.Crossfade) { switchMenuTitle = EditorGUILayout.TextField ("Menu to switch to:", switchMenuTitle); } else if (buttonClickType == AC_ButtonClickType.OffsetInventoryOrDialogue) { inventoryBoxTitle = EditorGUILayout.TextField ("Element to affect:", inventoryBoxTitle); shiftInventory = (AC_ShiftInventory) EditorGUILayout.EnumPopup ("Offset type:", shiftInventory); shiftAmount = EditorGUILayout.IntField ("Offset amount:", shiftAmount); onlyShowWhenEffective = EditorGUILayout.Toggle ("Only show when effective?", onlyShowWhenEffective); } else if (buttonClickType == AC_ButtonClickType.OffsetJournal) { inventoryBoxTitle = EditorGUILayout.TextField ("Journal to affect:", inventoryBoxTitle); shiftInventory = (AC_ShiftInventory) EditorGUILayout.EnumPopup ("Offset type:", shiftInventory); loopJournal = EditorGUILayout.Toggle ("Cycle pages?", loopJournal); } else if (buttonClickType == AC_ButtonClickType.RunActionList) { actionList = (ActionListAsset) EditorGUILayout.ObjectField ("ActionList to run:", actionList, typeof (ActionListAsset), false); } else if (buttonClickType == AC_ButtonClickType.CustomScript) { allowContinuousClick = EditorGUILayout.Toggle ("Accept held-down clicks?", allowContinuousClick); ShowClipHelp (); } else if (buttonClickType == AC_ButtonClickType.SimulateInput) { simulateInput = (SimulateInputType) EditorGUILayout.EnumPopup ("Simulate:", simulateInput); inputAxis = EditorGUILayout.TextField ("Input axis:", inputAxis); if (simulateInput == SimulateInputType.Axis) { simulateValue = EditorGUILayout.FloatField ("Input value:", simulateValue); } } EditorGUILayout.EndVertical (); base.ShowGUI (); }
public override void ShowGUI(MenuSource source) { EditorGUILayout.BeginVertical("Button"); if (source != MenuSource.AdventureCreator) { uiButton = LinkedUiGUI <UnityEngine.UI.Button> (uiButton, "Linked Button:", source); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical("Button"); } label = EditorGUILayout.TextField("Button text:", label); if (source == MenuSource.AdventureCreator) { anchor = (TextAnchor)EditorGUILayout.EnumPopup("Text alignment:", anchor); textEffects = (TextEffects)EditorGUILayout.EnumPopup("Text effect:", textEffects); } hotspotLabel = EditorGUILayout.TextField("Hotspot label override:", hotspotLabel); if (source == MenuSource.AdventureCreator) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Click texture:", GUILayout.Width(145f)); clickTexture = (Texture2D)EditorGUILayout.ObjectField(clickTexture, typeof(Texture2D), false, GUILayout.Width(70f), GUILayout.Height(30f)); EditorGUILayout.EndHorizontal(); } buttonClickType = (AC_ButtonClickType)EditorGUILayout.EnumPopup("Click type:", buttonClickType); if (buttonClickType == AC_ButtonClickType.TurnOffMenu) { doFade = EditorGUILayout.Toggle("Do transition?", doFade); } else if (buttonClickType == AC_ButtonClickType.Crossfade) { switchMenuTitle = EditorGUILayout.TextField("Menu to switch to:", switchMenuTitle); } else if (buttonClickType == AC_ButtonClickType.OffsetElementSlot) { inventoryBoxTitle = EditorGUILayout.TextField("Element to affect:", inventoryBoxTitle); shiftInventory = (AC_ShiftInventory)EditorGUILayout.EnumPopup("Offset type:", shiftInventory); shiftAmount = EditorGUILayout.IntField("Offset amount:", shiftAmount); onlyShowWhenEffective = EditorGUILayout.Toggle("Only show when effective?", onlyShowWhenEffective); } else if (buttonClickType == AC_ButtonClickType.OffsetJournal) { inventoryBoxTitle = EditorGUILayout.TextField("Journal to affect:", inventoryBoxTitle); shiftInventory = (AC_ShiftInventory)EditorGUILayout.EnumPopup("Offset type:", shiftInventory); loopJournal = EditorGUILayout.Toggle("Cycle pages?", loopJournal); shiftAmount = EditorGUILayout.IntField("Offset amount:", shiftAmount); onlyShowWhenEffective = EditorGUILayout.Toggle("Only show when effective?", onlyShowWhenEffective); } else if (buttonClickType == AC_ButtonClickType.RunActionList) { ActionListGUI(); } else if (buttonClickType == AC_ButtonClickType.CustomScript) { allowContinuousClick = EditorGUILayout.Toggle("Accept held-down clicks?", allowContinuousClick); ShowClipHelp(); } else if (buttonClickType == AC_ButtonClickType.SimulateInput) { simulateInput = (SimulateInputType)EditorGUILayout.EnumPopup("Simulate:", simulateInput); inputAxis = EditorGUILayout.TextField("Input axis:", inputAxis); if (simulateInput == SimulateInputType.Axis) { simulateValue = EditorGUILayout.FloatField("Input value:", simulateValue); } } ChangeCursorGUI(source); EditorGUILayout.EndVertical(); base.ShowGUI(source); }
public override void ShowGUI(Menu menu) { string apiPrefix = "(AC.PlayerMenus.GetElementWithName (\"" + menu.title + "\", \"" + title + "\") as AC.MenuButton)"; EditorGUILayout.BeginVertical("Button"); MenuSource source = menu.menuSource; if (source != MenuSource.AdventureCreator) { uiButton = LinkedUiGUI <UnityEngine.UI.Button> (uiButton, "Linked Button:", source); uiSelectableHideStyle = (UISelectableHideStyle)CustomGUILayout.EnumPopup("When invisible:", uiSelectableHideStyle, apiPrefix + ".uiSelectableHideStyle"); uiPointerState = (UIPointerState)CustomGUILayout.EnumPopup("Responds to:", uiPointerState, apiPrefix + ".uiPointerState"); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical("Button"); } label = CustomGUILayout.TextField("Button text:", label, apiPrefix + ".label"); buttonClickType = (AC_ButtonClickType)CustomGUILayout.EnumPopup("Click type:", buttonClickType, apiPrefix + ".buttonClickType"); if (buttonClickType == AC_ButtonClickType.TurnOffMenu) { doFade = CustomGUILayout.Toggle("Do transition?", doFade, apiPrefix + ".doFade"); } else if (buttonClickType == AC_ButtonClickType.Crossfade) { switchMenuTitle = CustomGUILayout.TextField("Menu to switch to:", switchMenuTitle, apiPrefix + ".switchMenutitle"); } else if (buttonClickType == AC_ButtonClickType.OffsetElementSlot) { inventoryBoxTitle = CustomGUILayout.TextField("Element to affect:", inventoryBoxTitle, apiPrefix + ".inventoryBoxTitle"); shiftInventory = (AC_ShiftInventory)CustomGUILayout.EnumPopup("Offset type:", shiftInventory, apiPrefix + ".shiftInventory"); shiftAmount = CustomGUILayout.IntField("Offset amount:", shiftAmount, apiPrefix + ".shiftAmount"); onlyShowWhenEffective = CustomGUILayout.Toggle("Only show when effective?", onlyShowWhenEffective, apiPrefix + ".onlyShowWhenEffective"); } else if (buttonClickType == AC_ButtonClickType.OffsetJournal) { inventoryBoxTitle = CustomGUILayout.TextField("Journal to affect:", inventoryBoxTitle, apiPrefix + ".inventoryBoxTitle"); shiftInventory = (AC_ShiftInventory)CustomGUILayout.EnumPopup("Offset type:", shiftInventory, apiPrefix + ".shiftInventory"); loopJournal = CustomGUILayout.Toggle("Cycle pages?", loopJournal, apiPrefix + ".loopJournal"); shiftAmount = CustomGUILayout.IntField("Offset amount:", shiftAmount, apiPrefix + ".shiftAmount"); onlyShowWhenEffective = CustomGUILayout.Toggle("Only show when effective?", onlyShowWhenEffective, apiPrefix + ".onlyShowWhenEffective"); } else if (buttonClickType == AC_ButtonClickType.RunActionList) { ActionListGUI(menu.title, apiPrefix); } else if (buttonClickType == AC_ButtonClickType.CustomScript) { allowContinuousClick = CustomGUILayout.Toggle("Accept held-down clicks?", allowContinuousClick, apiPrefix + ".allowContinuousClick"); ShowClipHelp(); } else if (buttonClickType == AC_ButtonClickType.SimulateInput) { simulateInput = (SimulateInputType)CustomGUILayout.EnumPopup("Simulate:", simulateInput, apiPrefix + ".simulateInput"); inputAxis = CustomGUILayout.TextField("Input axis:", inputAxis, apiPrefix + ".inputAxis"); if (simulateInput == SimulateInputType.Axis) { simulateValue = CustomGUILayout.FloatField("Input value:", simulateValue, apiPrefix + ".simulateValue"); } } hotspotLabel = CustomGUILayout.TextField("Hotspot label override:", hotspotLabel, apiPrefix + ".hotspotLabel"); alternativeInputButton = CustomGUILayout.TextField("Alternative input button:", alternativeInputButton, apiPrefix + ".alternativeInputButton"); ChangeCursorGUI(menu); EditorGUILayout.EndVertical(); base.ShowGUI(menu); }
/** * <summary>Simulates the pressing of an Input button or axis.</summary> * <param name = "input">The type of Input this is simulating (Button, Axis)</param> * <param name = "axis">The name of the Input button or axis</param> * <param name = "value">The value to assign the Input axis, if input = SimulateInputType.Axis</param> */ public void SimulateInput(SimulateInputType input, string axis, float value) { if (axis != "") { menuInput = input; menuButtonInput = axis; if (input == SimulateInputType.Button) { menuButtonValue = 1f; } else { menuButtonValue = value; } CancelInvoke (); Invoke ("StopSimulatingInput", 0.1f); } }
public override void ShowGUI(Menu menu) { string apiPrefix = "(AC.PlayerMenus.GetElementWithName (\"" + menu.title + "\", \"" + title + "\") as AC.MenuButton)"; CustomGUILayout.BeginVertical(); MenuSource source = menu.menuSource; if (source != MenuSource.AdventureCreator) { uiButton = LinkedUiGUI <UnityEngine.UI.Button> (uiButton, "Linked Button:", source, "The Unity UI Button this is linked to"); uiSelectableHideStyle = (UISelectableHideStyle)CustomGUILayout.EnumPopup("When invisible:", uiSelectableHideStyle, apiPrefix + ".uiSelectableHideStyle", "The method by which this element is hidden from view when made invisible"); uiPointerState = (UIPointerState)CustomGUILayout.EnumPopup("Responds to:", uiPointerState, apiPrefix + ".uiPointerState", "What pointer state registers as a 'click' for Unity UI Menus"); CustomGUILayout.EndVertical(); CustomGUILayout.BeginVertical(); } label = CustomGUILayout.TextField("Button text:", label, apiPrefix + ".label", "The text that's displayed on-screen"); buttonClickType = (AC_ButtonClickType)CustomGUILayout.EnumPopup("Click type:", buttonClickType, apiPrefix + ".buttonClickType", "The type of reaction that occurs when clicked"); if (buttonClickType == AC_ButtonClickType.TurnOffMenu) { doFade = CustomGUILayout.Toggle("Do transition?", doFade, apiPrefix + ".doFade", "If True, then the menu will transition as it turns off"); } else if (buttonClickType == AC_ButtonClickType.Crossfade) { switchMenuTitle = CustomGUILayout.TextField("Menu to switch to:", switchMenuTitle, apiPrefix + ".switchMenutitle", "The name of the menu to crossfade to"); } else if (buttonClickType == AC_ButtonClickType.OffsetElementSlot) { inventoryBoxTitle = CustomGUILayout.TextField("Element to affect:", inventoryBoxTitle, apiPrefix + ".inventoryBoxTitle", "The name of the element (in the same menu) with slots to shift"); shiftInventory = (AC_ShiftInventory)CustomGUILayout.EnumPopup("Offset type:", shiftInventory, apiPrefix + ".shiftInventory", "The direction to shift slots"); shiftAmount = CustomGUILayout.IntField("Offset amount:", shiftAmount, apiPrefix + ".shiftAmount", "The amount to shift slots by"); onlyShowWhenEffective = CustomGUILayout.Toggle("Only show when effective?", onlyShowWhenEffective, apiPrefix + ".onlyShowWhenEffective", "If True, then the button will only be visible if the slots it affects can actually be shifted"); } else if (buttonClickType == AC_ButtonClickType.OffsetJournal) { inventoryBoxTitle = CustomGUILayout.TextField("Journal to affect:", inventoryBoxTitle, apiPrefix + ".inventoryBoxTitle", "The name of the Journal element (in the same menu)"); shiftInventory = (AC_ShiftInventory)CustomGUILayout.EnumPopup("Offset type:", shiftInventory, apiPrefix + ".shiftInventory", "The direction to shift pages in"); loopJournal = CustomGUILayout.Toggle("Cycle pages?", loopJournal, apiPrefix + ".loopJournal", "If True, then shifting past the last Journal page will open the first"); shiftAmount = CustomGUILayout.IntField("Offset amount:", shiftAmount, apiPrefix + ".shiftAmount", "The number of pages to shift by"); onlyShowWhenEffective = CustomGUILayout.Toggle("Only show when effective?", onlyShowWhenEffective, apiPrefix + ".onlyShowWhenEffective", "If True, then the button will only be visible if the Journal it affects can actually be shifted"); } else if (buttonClickType == AC_ButtonClickType.RunActionList) { ActionListGUI(menu.title, apiPrefix); } else if (buttonClickType == AC_ButtonClickType.CustomScript) { allowContinuousClick = CustomGUILayout.Toggle("Accept held-down clicks?", allowContinuousClick, apiPrefix + ".allowContinuousClick", "If True, then the button will respond to the mouse button being held down"); ShowClipHelp(); } else if (buttonClickType == AC_ButtonClickType.SimulateInput) { simulateInput = (SimulateInputType)CustomGUILayout.EnumPopup("Simulate:", simulateInput, apiPrefix + ".simulateInput", "The type of Input to simulate when clicked"); inputAxis = CustomGUILayout.TextField("Input axis:", inputAxis, apiPrefix + ".inputAxis", "The name of the Input axis to simulate when clicked"); if (simulateInput == SimulateInputType.Axis) { simulateValue = CustomGUILayout.FloatField("Input value:", simulateValue, apiPrefix + ".simulateValue", "The value of the Input axis to simulate when clicked"); } } hotspotLabel = CustomGUILayout.TextField("Hotspot label override:", hotspotLabel, apiPrefix + ".hotspotLabel", "The text that appears in the Hotspot label buffer when the mouse hovers over"); alternativeInputButton = CustomGUILayout.TextField("Alternative input button:", alternativeInputButton, apiPrefix + ".alternativeInputButton", "The name of the input button that triggers the element when pressed"); ChangeCursorGUI(menu); CustomGUILayout.EndVertical(); base.ShowGUI(menu); }