Utilities Interface FAQ
Contents |
What is the difference between the Utilities Interface and the HotSpot Menu?
There is no difference, they are just two names for the same thing.
The menu was originally called the "HotSpot Menu" because it was accessed by clicking on a hotspot in the upper lefthand corner of the viewport. In 2009, the name of the menu was changed to "Utilities Interface" since this better reflects the current usage of the menu. However, some documentation still refers to it by the old name, and some of the underlying code (such as in GUIXML) still uses names with "HotSpot".
How do I open the Utilities Interface?
There are two ways to open the Utilities Interface.
- With the mouse, by CTRL-SHIFT clicking in the upper left-hand corner of the viewport.
- With the keyboard, by pressing Shift-F1 (on some keyboards, you may need Function Lock enabled for this to work)
How do I customize the Utilities Interface?
- See also: Modifying the Utilities Interface
The Utilities Interface is controlled from a client-side system node, $HOTSPOT, that can be modified using the HeroEngine Control Panel. To do this:
- Create a game-specific class to add to the HotSpot system node (for example: YGHotSpot).
- Implement an override GUI based on the Hero's Journey reference HJHotSpotGUI.xml (for example: YGHotSpotGUI.xml).
- In the Class Methods script for your game-specific override class, implement the following method:
method HE_buildHotSpotGUI() as NodeRef of Class GUIControl gui as NodeRef of Class GUIControl = CreateNodeFromPrototype("YGHotSpotGUI") gui.build = true return gui .
- Using the HeroEngine Control Panel, add your game-specific class to the HotSpot system node.
- Open up the Utilities Interface and rebuild it.
Note that in your GUI override, each collapsible category item requires a script that can be called when clicked on. That script must implement the following shared function in order to respond to the click event:
shared function onCollapsableCategoryItemClick( args references Class GUIMouseEvent ) var source = args.source where source is kindof GUILabel when source.text is "{u}Your Item Text{/}" // do your thing here . . . .
where {u}Your Item Name{/}
is the label value of the collapsible category item you are adding. For example:
<_CollapsableCategoryItem name='Your Item' glomClass='_HotSpotItem' _hotSpotItemCheckable='false' script='YGHotSpotClassMethods'> <set name='text' attribute='text' value="{u}Your Item Text{/}"/> </_CollapsableCategoryItem>
How do I rebuild the Utilities Interface?
Sometimes on engine updates, or whenever you add new custom items, it is necessary to rebuild the Utilities Interface to see a new option.
To do this:
- Ctrl-Shift click in the upper lefthand corner of the viewport to access the Utilities Interface
- Select "Rebuild HotSpot Interface"