uPIeMenu
This handles pointer events
Pointer enter event
Pointer exit event
Submit event
Called back on pointer enter
Called back on pointer exit
Called back on submit
Contains the main uPIe menu (runtime) logic
Gets or sets the controller deadzone. This means, when is the analogue stick
of the controller considered to be centered.
The controller deadzone.
Gets or sets a value controlling whether selecting menu options is enabled or not.
This is mostly used to enable or disable a parent menu when a submenu is
opened or closed.
true if it should be able to select the options from this menu; otherwise, false.
Gets or sets the option (button or other selectable) that is selected by default.
This means this is what is selected, when the controllers analogue stick is centered
If unity default input is selected (no custom input) this is what the horizontal input
is called in the input manager
If unity default input is selected (no custom input) this is what the vertical input
is called in the input manager
If unity default input is selected (no custom input) this is what the confirm input
is called in the input manager
If unity default input is used this returns, if the confirm button was pressed last frame
Note: you can set this value too, but this is only recommended, if you want to create your own
customized version of uPIe
Gets the menu option, that is currently active.
Note: you can set the value too, but this should only be done, if you
want to create your own, customized version of uPIe.
Gets or sets the value that determines whether to constrain the indicator position to the
nearest menu option. This only makes a difference, when using menus that are not full circle.
Gets or sets the size of the circle menu.
The size of the circle.
Gets or sets the the value, that determines whether to keep the most recently selected option
with gamepad, when the stick is in "origin" position
Gets or sets the current direction from center of the menu
to pointer (mouse or analogue stick direction)
The current direction.
Gets or sets a value indicating whether to use a custom input system or the unity default one.
true if custom input system should be used; otherwise, false.
If we choose to use a custom input system, we need to set the direction (for analogue stick)
or position (for mouse) here
The custom input.
Gets or sets the selected piece identifier.
The selected piece identifier.
Gets or sets the offset in degrees where to start / where the first menu option should be
The start offset in degrees
Gets or sets the menu option prefab to use when creating new
menu options
The prefab asset to use
Gets or sets the menu options.
The menu options.
Gets or sets a value indicating whether to apply indicator rotation or not.
true if indicator rotation should be applied; otherwise, false.
Gets or sets the indicator graphic.
The indicator graphic.
Gets or sets a value indicating whether to control with gamepad or not.
true if controlling with gamepad; otherwise, false.
Gets or sets a value indicating whether to deselect option if outside the menu borders.
Note: only makes a difference when using menus that are not full circle
true if the menu option should be deselected when outside the menus borders; otherwise, false.
Gets or sets the align radius (align helper in the inspector)
The align radius.
Gets or sets a value indicating whether the align helper (inspector) should also align rotation or not.
true if menu option rotation should be aligned; otherwise, false.
Gets or sets the up direction used for alignment.
The align up direction.
Gets or sets the forward direction used for alignment.
The align forward direction.
Gets the current direction from the center of the menu to the pointer (analogue stick direction or mouse position).
Polls the input.
Gets the indicator position.
The resulting position.
Gets the indicator position.
The direction.
The resulting position.
Confirms the current selection (simulates a click respectively button down on the currently selected
menu option).
Gets the signed angle between two directions.
From.
To.
Returns the Canvas-Component related to this uPIe Menu.
Reads field (private), falls back to the root object if not provided
Gets the mouse position.
Gets the angle from a direction by offset and clamps between 0 and 360.
(starts at 0 again, if bigger than 360)
The direction.
The offset in degrees.
if set to true the resulting angle will not get bigger than 360�.
Gets the offsetted direction.
The direction.
The offset.
Gets the piece (menu option) by angle.
The angle.
Adds the menu option callback.
The trigger.
Adds the default selectable callback.
The trigger.
Creates the callbacks.
Selects the related option. The id stored in the field
is used.
Selects the related option by a given id.
The identifier.
Removes the indicator.
Gets the start direction.
The additional offset.
Gets the end direction.
The start dir.
Gets the end direction.
Adds a new button (without adding it to the menu option list).
In most cases you should use as
this sets up the button correctly and adds it to the menu options list
A name for the button.
If set to true (default) this method will try to copy
the most recently added menu option button
Initialize a newly created menu option gameobject instance
The gameobject instance you want to be treated as a menu option
Name the menu option gameobject (optional)
Adds a new menu option (button) to the menu.
The newly added menu option button
takes more options than this, so from a script
you should probably use that method. But unity only allows one parameter when calling
methods from an event trigger (like OnClick) in the inspector, so if you want to
do that, use this method.
takes more options than this, so from a script
you should probably use that method. But unity only allows one parameter when calling
methods from an event trigger (like OnClick) in the inspector, so if you want to
do that, use this method.
takes more options than this, so from a script
you should probably use that method. But unity only allows one parameter when calling
methods from an event trigger (like OnClick) in the inspector, so if you want to
do that, use this method.
Adds a new menu option (button) to the menu and automatically realigns the menu options
according to what is set up in the alignment options.
See , , ,
if set to true automatically rescales the x value.
if set to true automatically rescales the y value.
if set to true automatically rescales the z value.
The newly added menu option button
takes more options than this, so from a script
you should probably use that method. But unity only allows one parameter when calling
methods from an event trigger (like OnClick) in the inspector, so if you want to
do that, use this method.
takes more options than this, so from a script
you should probably use that method. But unity only allows one parameter when calling
methods from an event trigger (like OnClick) in the inspector, so if you want to
do that, use this method.
takes more options than this, so from a script
you should probably use that method. But unity only allows one parameter when calling
methods from an event trigger (like OnClick) in the inspector, so if you want to
do that, use this method.
Removes the last menu option (button) from the menu and automatically realigns the menu options
according to what is set up in the alignment options.
See , , ,
if set to true automatically rescales the x value.
if set to true automatically rescales the y value.
if set to true automatically rescales the z value.
The newly added menu option button
Removes the most recently added menu option.
Removes the menu option by a given id.
The identifier.
Removes the menu option by a given selectable.
The selectable to remove.
Clears all menu options.
Deselects the currently selected menu option.
Opens a sub-uPIe-menu.
The sub menu.
Closes this sub-uPIe-menu and retuns to the uPIe-menu that
is superordinated to this one.
The super menu.
Realigns all menu options.
The options set up as alignment options are used.
See , , ,
Realigns all menu options by only using a different radius as set up in the alignment options.
See , , ,
The radius to align all options along.
Realigns all menu options by given options
The radius.
if set to true the menu options are also rotated.
Local up direction of the menu options.
Local forward direction of the menu options.
Rescales all menu options.
The x scale.
The y scale.
The z scale.
if set to true the scale is multiplied by its current scale. If set to false
the scale value is directly set.
Monobehaviours can't be serialized. This scripts hols all the data
stored in a uPIeMenu, so it can be serialized. (for upgrade helper tool)