DIFF

class RadialMenuSource

RadialMenu ScriptedWidgetEventHandler Managed

All members, including inherited

Constructors 2

void ~RadialMenu()

Constants 9

static const string RADIAL_SELECTOR = "RadialSelector"
Referenced by OnWidgetScriptInit()
static const string RADIAL_SELECTOR_IMAGE = "SelectorImage"
Referenced by OnWidgetScriptInit()
static const string RADIAL_SELECTOR_POINTER = "SelectorPointer"
Referenced by OnWidgetScriptInit()
static const string RADIAL_DELIMITER_CONTAINER = "RadialDelimiterContainer"
Referenced by Refresh()
static const string RADIAL_ITEM_CARD_CONTAINER = "RadialItemCardContainer"
protected const float CONTROLLER_DESELECT_TIMEOUT = 1000

timeout [ms] after which selection is automatically deselect when controller is not active

Referenced by Update()
protected const float CONTROLLER_TILT_TRESHOLD_SELECT = 0.8

tilt value (0.0-1.0) for controller sticks after which the selection will be selected

Referenced by Update()
protected const float CONTROLLER_TILT_TRESHOLD_EXECUTE = 1.0

tilt value (0.0-1.0) for controller sticks after which the selection will be executed

protected const float MOUSE_SAFE_ZONE_RADIUS = 120

Radius [px] of safe zone where every previous selection is deselected

Referenced by Update()

Members 27

protected Widget m_Parent
protected Widget m_ItemCardsContainer
protected Widget m_RadialSelector
protected ImageWidget m_RadialSelectorImage
protected ImageWidget m_RadialSelectorPointerImage
protected int m_RadialSelectorOriginalColor
protected int m_RadialSelectorDisabledColor
protected Widget m_SelectedObject
protected ref map<Widget, float> m_RadialItemCards
Referenced by GetObjectByDegAngle(), RadialMenu(), Refresh()
Show 1 more, ShowRadialSelector()
protected float m_AngleRadOffset
Referenced by GetObjectByDegAngle(), and Refresh()
protected ref Timer m_UpdateTimer
protected RadialMenuControlType m_ControlType
Referenced by IsUsingController(), IsUsingMouse(), RadialMenu()
Show 1 more, SetControlType()
private UAIDWrapper m_SelectInputWrapper
private UAIDWrapper m_BackInputWrapper
protected float m_ControllerAngle
protected float m_ControllerTilt
protected int m_ControllerTimout
protected bool m_IsControllerTimoutEnabled = true

enables/disables controller deselect timeout reset

protected bool m_WidgetInitialized
protected float m_RadiusOffset

Radius [% of the main container size]

Referenced by GetRadius(), and SetRadiusOffset()
protected float m_ExecuteDistanceOffset

Distance offset [% of the main container size] after which the selection will be automatically executed

protected float m_OffsetFromTop

first item in the menu won't be directly on top but offset by a rad angle value (clock-wise)

Referenced by Refresh(), and SetOffsetFromTop()
protected float m_ItemCardRadiusOffset

Radius [% of the main container size] for item cards

protected string m_DelimiterLayout

layout file name with path

Referenced by Refresh(), and SetWidgetProperties()
ref UIScriptedMenu m_RegisteredClass
static ref RadialMenu m_Instance
Referenced by GetInstance(), and RadialMenu()
int last_time = -1
Referenced by Update()

Methods 29

bool IsUsingMouse()
References m_ControlType
Referenced by Update()
bool IsUsingController()
References m_ControlType
Referenced by Update()
void SetWidgetInitialized(bool state)
bool IsWidgetInitialized()
void RegisterClass(UIScriptedMenu class_name)
void SetRadiusOffset(float radius_offset)
References m_RadiusOffset
void SetExecuteDistOffset(float execute_dist_offset)
void SetOffsetFromTop(float offset_from_top)
References m_OffsetFromTop
void SetItemCardRadiusOffset(float item_card_radius_offset)
void ActivateControllerTimeout(bool state)
void SetWidgetProperties(string delimiter_layout)
protected void HideRadialSelector()
Referenced by Refresh(), and Update()
protected int GetItemCardsCount()
Referenced by Refresh()
protected float GetRadius()
Referenced by Refresh()
protected void GetParentCenter(out float center_x, out float center_y)
protected float GetParentMinSize()
Referenced by GetRadius()
protected Widget GetObjectByDegAngle(float deg_angle)
Referenced by Update()
protected float GetMousePointerAngle()
Referenced by Update()
protected float GetMouseDistance()
References vector.Distance(), GetMousePos(), GetParentCenter()
Show 1 more, Vector()
Referenced by Update()
protected float GetAngleInDegrees(float rad_angle)
References Math.RAD2DEG
Referenced by GetObjectByDegAngle(), Refresh(), ShowRadialSelector()
Show 1 more, Update()
float NormalizeInvertAngle(float angle)
override bool OnMouseButtonUp(Widget w, int x, int y, int button)