TopDown Engine
v3.6
|
Add this component to a UI rectangle and it'll act as a detection zone for a joystick. Note that this component extends the MMTouchJoystick class so you don't need to add another joystick to it. It's both the detection zone and the stick itself. More...
Public Member Functions | |
override void | Initialize () |
On init we set our knob transform More... | |
override void | OnPointerDown (PointerEventData data) |
When the zone is pressed, we move our joystick accordingly More... | |
override void | OnPointerUp (PointerEventData eventData) |
When the player lets go of the stick, we restore our stick's position if needed More... | |
Public Member Functions inherited from MoreMountains.Tools.MMTouchJoystick | |
virtual void | RefreshMaxRangeDistance () |
This method is used to compute the max range distance when in DistanceToTransform mode More... | |
virtual void | SetKnobTransform (Transform newTransform) |
Assigns a new transform as the joystick knob More... | |
virtual void | SetNeutralPosition () |
Sets the neutral position of the joystick More... | |
virtual void | SetNeutralPosition (Vector3 newPosition) |
virtual void | OnDrag (PointerEventData eventData) |
Handles dragging of the joystick More... | |
virtual void | ResetJoystick () |
Resets the stick's position and values More... | |
virtual void | OnEndDrag (PointerEventData eventData) |
What happens when the stick stops being dragged More... | |
Public Attributes | |
CanvasGroup | KnobCanvasGroup |
the canvas group to use as the joystick's knob More... | |
CanvasGroup | BackgroundCanvasGroup |
the canvas group to use as the joystick's background More... | |
bool | ConstrainToInitialRectangle = true |
if this is true, the joystick won't be able to travel beyond the bounds of the top level canvas More... | |
bool | ResetPositionToInitialOnRelease = false |
if this is true, the joystick will return back to its initial position when released More... | |
Public Attributes inherited from MoreMountains.Tools.MMTouchJoystick | |
Camera | TargetCamera |
The camera to use as the reference for any ScreenToWorldPoint computations. More... | |
bool | HorizontalAxisEnabled = true |
Is horizontal axis allowed. More... | |
bool | VerticalAxisEnabled = true |
Is vertical axis allowed. More... | |
MaxRangeModes | MaxRangeMode = MaxRangeModes.Distance |
the mode in which to compute the range. Distance will be a flat value, DistanceToTransform will be a distance to a transform you can move around and potentially resize as you wish for various resolutions More... | |
float | MaxRange = 1.5f |
The MaxRange is the maximum distance from its initial center position you can drag the joystick to. More... | |
Transform | MaxRangeTransform |
in DistanceToTransform mode, the object whose distance to the center will be used to compute the max range. Note that this is computed once, at init. Call RefreshMaxRangeDistance() to recompute it. More... | |
JoystickEvent | JoystickValue |
An event to use the raw value of the joystick. More... | |
JoystickEvent | JoystickNormalizedValue |
An event to use the normalized value of the joystick. More... | |
JoystickFloatEvent | JoystickMagnitudeValue |
UnityEvent | OnPointerDownEvent |
An event triggered when tapping the joystick for the first time. More... | |
UnityEvent | OnDragEvent |
An event triggered when dragging the stick. More... | |
UnityEvent | OnPointerUpEvent |
An event triggered when releasing the stick. More... | |
Transform | RotatingIndicator |
an object you can rotate to show the direction of the joystick. Will only be visible if the movement is above a threshold More... | |
float | RotatingIndicatorThreshold = 0.1f |
the threshold above which the rotating indicator will appear More... | |
float | PressedOpacity = 0.5f |
the new opacity to apply to the canvas group when the button is pressed More... | |
bool | InterpolateOpacity = true |
whether or not to interpolate opacity changes on the knob's canvas group More... | |
float | InterpolateOpacitySpeed = 1f |
the speed at which to interpolate opacity More... | |
Vector2 | RawValue |
the raw value of the joystick, from 0 to 1 on each axis More... | |
Vector2 | NormalizedValue |
the normalized value of the joystick More... | |
float | Magnitude |
the magnitude of the stick's vector More... | |
bool | DrawGizmos = true |
whether or not to draw gizmos associated to this stick More... | |
Protected Member Functions | |
override void | Start () |
On Start, we instantiate our joystick's image if there's one More... | |
virtual bool | WithinBounds () |
Returns true if the joystick's new position is within the bounds of the top level canvas More... | |
Protected Member Functions inherited from MoreMountains.Tools.MMTouchJoystick | |
virtual void | Update () |
On Update we check for an orientation change if needed, and send our input values. More... | |
virtual void | HandleOpacity () |
Changes or interpolates the opacity of the knob More... | |
virtual void | RotateIndicator () |
Rotates an indicator to match the rotation of the stick More... | |
virtual void | ClampToBounds () |
Clamps the stick to the specified range More... | |
virtual Vector3 | ConvertToWorld (Vector3 position) |
Converts a position to world position More... | |
virtual float | EvaluateInputValue (float vectorPosition) |
We compute the axis value from the interval between neutral position, current stick position (vectorPosition) and max range More... | |
virtual void | OnEnable () |
On enable, we initialize our stick More... | |
Protected Attributes | |
Vector3 | _initialPosition |
Vector3 | _newPosition |
CanvasGroup | _knobCanvasGroup |
RectTransform | _rectTransform |
Protected Attributes inherited from MoreMountains.Tools.MMTouchJoystick | |
Vector2 | _neutralPosition |
Vector2 | _newTargetPosition |
Vector3 | _newJoystickPosition |
float | _initialZPosition |
float | _targetOpacity |
CanvasGroup | _canvasGroup |
float | _initialOpacity |
Transform | _knobTransform |
bool | _rotatingIndicatorIsNotNull = false |
float | _maxRangeTransformDistance |
Additional Inherited Members | |
Public Types inherited from MoreMountains.Tools.MMTouchJoystick | |
enum | MaxRangeModes { MaxRangeModes.Distance, MaxRangeModes.DistanceToTransform } |
Properties inherited from MoreMountains.Tools.MMTouchJoystick | |
float? | ComputedMaxRange [get] |
virtual RenderMode | ParentCanvasRenderMode [get, protected set] |
the render mode of the parent canvas this stick is on More... | |
Add this component to a UI rectangle and it'll act as a detection zone for a joystick. Note that this component extends the MMTouchJoystick class so you don't need to add another joystick to it. It's both the detection zone and the stick itself.
|
virtual |
On init we set our knob transform
Reimplemented from MoreMountains.Tools.MMTouchJoystick.
|
virtual |
When the zone is pressed, we move our joystick accordingly
data | Data. |
Reimplemented from MoreMountains.Tools.MMTouchJoystick.
|
virtual |
When the player lets go of the stick, we restore our stick's position if needed
eventData | Event data. |
Reimplemented from MoreMountains.Tools.MMTouchJoystick.
|
protectedvirtual |
On Start, we instantiate our joystick's image if there's one
Reimplemented from MoreMountains.Tools.MMTouchJoystick.
|
protectedvirtual |
Returns true if the joystick's new position is within the bounds of the top level canvas
|
protected |
|
protected |
|
protected |
|
protected |
CanvasGroup MoreMountains.Tools.MMTouchRepositionableJoystick.BackgroundCanvasGroup |
the canvas group to use as the joystick's background
bool MoreMountains.Tools.MMTouchRepositionableJoystick.ConstrainToInitialRectangle = true |
if this is true, the joystick won't be able to travel beyond the bounds of the top level canvas
CanvasGroup MoreMountains.Tools.MMTouchRepositionableJoystick.KnobCanvasGroup |
the canvas group to use as the joystick's knob
bool MoreMountains.Tools.MMTouchRepositionableJoystick.ResetPositionToInitialOnRelease = false |
if this is true, the joystick will return back to its initial position when released