3.9. C# UI.Hints¶
3.9.1. UiInputHints.cs¶
-
class
UI.Hints.UiInputHints
: public MonoBehaviour¶ Defines the behaviour of the input hints of one hand. Important functions are: AddTooltip(GameObject, string), SetData and Repaint.
In short, tooltips can be added so when we hover over a UI element it displays some text. Repaint is called with the collection to set out the default hints for a particular state. This can then be overriden by scripting, e.g. see RepaintTriggerColor where we set the trigger hint color ot the active selection color.
Public Functions
-
void
Initialize
()¶
-
void
SetData
(UiInputHintsData data)¶ Set the data that should be displayed. Note: Consider the overrides and the ordering when calling this multiple times.
-
void
Repaint
()¶ Refreshes the Input hints based on the InputState.ActiveTool and the sub state like ToolTransformMode
Public Members
-
UiInputLabel
title
¶
-
UiInputLabel
help
¶
-
UiInputLabel
trigger
¶
-
UiInputLabel
grip
¶
-
UiInputLabel
primaryBtn
¶
-
UiInputLabel
secondaryBtn
¶
-
UiInputLabel
primaryAxisX
¶
-
UiInputLabel
primaryAxisY
¶
Public Static Functions
-
void
AddTooltip
(GameObject uiElement, string msg)¶ Display the message when hovering over this UI element. Note: Must be attached to the gameObject with the button/toggle component, otherwise clicking may be blocked
- Parameters
uiElement
: GameObject with the Button/Toggle UI componentmsg
: Message to display when hovering
-
void
AddTooltip
(GameObject uiElement, Func<string> msg) An overload where the message can be a lambda.
Private Functions
-
void
SetTooltip
(string data, bool overrideExisting = false)¶ Apply text to the help/tooltip. Used by the UI.
-
void
ClearTooltip
()¶
-
void
RepaintTriggerColor
()¶ Sets the trigger hint background color based on the active selection for the active mesh. Implementation note: Example of input hints driven by scripting. We ensure with the events On*Changed that this function is called only when the ActiveMesh changes or the selection of the ActiveMesh.
-
void
OnActiveMeshChanged
()¶
-
void
OnDestroy
()¶
Private Members
-
UiInputHintsDataCollection
collection
= null¶
-
UiInputHintsData
_currentData
¶
-
LibiglBehaviour
_activeBehaviour
¶
-
const float
DefaultTooltipTimeout
= 60f¶
-
void
3.9.2. UiInputLabel.cs¶
-
class
UI.Hints.UiInputLabel
: public MonoBehaviour¶ A label for a physical input button/axis to give a hint to what it does.
Public Functions
-
void
Initialize
()¶
-
void
SetData
(UiInputLabelData data, bool overwriteData = true)¶
-
void
SetText
(string data)¶
-
void
3.9.3. Data¶
3.9.3.1. UiInputHintsDataCollection.cs¶
-
class
UI.Hints.UiInputHintsDataCollection
: public ScriptableObject¶ Stores the hints for all possible states of the ActiveTool and sub-states. These are stored as a hierarchy. UiInputHints.Repaint defines how this data is applied. There will be one instance for the left and one for the right hand.
Public Members
-
UiInputHintsData
defaultHints
¶
-
UiInputHintsData
transform
¶
-
UiInputHintsData
transformIdle
¶
-
UiInputHintsData
transformTransformingL
¶
-
UiInputHintsData
transformTransformingR
¶
-
UiInputHintsData
transformTransformingLr
¶
-
UiInputHintsData
select
¶
-
UiInputHintsData
selectIdle
¶
-
UiInputHintsData
selectSelecting
¶
-
UiInputHintsData
selectTransformL
¶
-
UiInputHintsData
selectTransformR
¶
-
UiInputHintsData
selectTransformLr
¶
-
UiInputHintsData
3.9.3.2. UiInputHintsData.cs¶
-
class
UI.Hints.UiInputHintsData
: public ScriptableObject¶ Data for one hand and one state of the ActiveTool. Used by the UiInputHints. We have one UiInputLabelData per button/axis.
Public Members
-
UiInputLabelData
title
¶
-
UiInputLabelData
help
¶
-
UiInputLabelData
trigger
¶
-
UiInputLabelData
grip
¶
-
UiInputLabelData
primaryBtn
¶
-
UiInputLabelData
secondaryBtn
¶
-
UiInputLabelData
primaryAxisX
¶
-
UiInputLabelData
primaryAxisY
¶
-
UiInputLabelData