tModLoader v2024.09
A mod to make and play Terraria mods
UIList Class Reference

Inherits UIElement, IEnumerable< UIElement >, IEnumerable, UIElement, IEnumerable< UIElement >, and IEnumerable.

Inherited by NestedUIList, and UIAsyncList< TResource, TUIElement >.

Public Member Functions

virtual void Add (UIElement item)
 
virtual void AddRange (IEnumerable< UIElement > items)
 
virtual void Clear ()
 
delegate bool ElementSearchMethod (UIElement element)
 
IEnumerator< UIElementGetEnumerator ()
 
override List< SnapPointGetSnapPoints ()
 
float GetTotalHeight ()
 
void Goto (ElementSearchMethod searchMethod)
 
override void Recalculate ()
 
override void RecalculateChildren ()
 
virtual bool Remove (UIElement item)
 
override void ScrollWheel (UIScrollWheelEvent evt)
 
void SetScrollbar (UIScrollbar scrollbar)
 
int SortMethod (UIElement item1, UIElement item2)
 
override void Update (GameTime gameTime)
 
void UpdateOrder ()
 
- Public Member Functions inherited from UIElement
void Activate ()
 
void Append (UIElement element)
 
virtual int CompareTo (object obj)
 
virtual bool ContainsPoint (Vector2 point)
 
void CopyStyle (UIElement element)
 
void Deactivate ()
 
virtual void Draw (SpriteBatch spriteBatch)
 
void DrawDebugHitbox (BasicDebugDrawer drawer, float colorIntensity=0f)
 
delegate void ElementEvent (UIElement affectedElement)
 
virtual void ExecuteRecursively (UIElementAction action)
 
Rectangle GetClippingRectangle (SpriteBatch spriteBatch)
 
CalculatedStyle GetDimensions ()
 
UIElement GetElementAt (Vector2 point)
 
CalculatedStyle GetInnerDimensions ()
 
CalculatedStyle GetOuterDimensions ()
 
bool GetSnapPoint (out SnapPoint point)
 
virtual List< SnapPointGetSnapPoints ()
 
virtual Rectangle GetViewCullingArea ()
 
bool HasChild (UIElement child)
 
void Initialize ()
 
virtual void LeftClick (UIMouseEvent evt)
 
virtual void LeftDoubleClick (UIMouseEvent evt)
 
virtual void LeftMouseDown (UIMouseEvent evt)
 Called when the UIElement under the mouse is left clicked. The default code calls the OnLeftMouseDown event and then calls LeftMouseDown on the Parent element. Since the method is called on all parent elements in the hierarchy, check if (evt.Target == this) for code only interested in direct clicks to this element. Children elements overlaying this element can be ignored by setting IgnoresMouseInteraction to true on them. More...
 
virtual void LeftMouseUp (UIMouseEvent evt)
 
virtual void MiddleClick (UIMouseEvent evt)
 
virtual void MiddleDoubleClick (UIMouseEvent evt)
 
virtual void MiddleMouseDown (UIMouseEvent evt)
 
virtual void MiddleMouseUp (UIMouseEvent evt)
 
delegate void MouseEvent (UIMouseEvent evt, UIElement listeningElement)
 
virtual void MouseOut (UIMouseEvent evt)
 Called once when this UIElement is no longer moused over. Default implementation sets IsMouseHovering to false, calls OnMouseOut event, then calls this same method on the Parent element. Useful for changing visuals to indicate the element is no longer interactable, as is the OnMouseOut event. MouseOver(UIMouseEvent) will be called when it is hovered once again. More...
 
virtual void MouseOver (UIMouseEvent evt)
 Called once when this UIElement becomes moused over (hovered). Default implementation sets IsMouseHovering to true, calls OnMouseOver event, then calls this same method on the Parent element. Useful for changing visuals to indicate the element is interactable, as is the OnMouseOver event. Any code that needs to run as long as the element is hovered should use check IsMouseHovering in Update(GameTime). MouseOut(UIMouseEvent) will be called when it no longer hovered. More...
 
virtual void OnActivate ()
 Called each time this element is activated, which is usually when a UIState is activated via UserInterface.SetState(UIState). Use this to run code to update elements whenever the UI is toggled on. More...
 
virtual void OnDeactivate ()
 
virtual void OnInitialize ()
 Called before the first time this element is activated (see OnActivate). Use this method to create and append other UIElement to this to build a UI. More...
 
virtual void Recalculate ()
 
virtual void RecalculateChildren ()
 
void Remove ()
 
void RemoveAllChildren ()
 
void RemoveChild (UIElement child)
 
virtual void RightClick (UIMouseEvent evt)
 
virtual void RightDoubleClick (UIMouseEvent evt)
 
virtual void RightMouseDown (UIMouseEvent evt)
 
virtual void RightMouseUp (UIMouseEvent evt)
 
virtual void ScrollWheel (UIScrollWheelEvent evt)
 
delegate void ScrollWheelEvent (UIScrollWheelEvent evt, UIElement listeningElement)
 
void SetPadding (float pixels)
 
void SetSnapPoint (string name, int id, Vector2? anchor=null, Vector2? offset=null)
 
delegate void UIElementAction (UIElement element)
 
virtual void Update (GameTime gameTime)
 
virtual void XButton1Click (UIMouseEvent evt)
 
virtual void XButton1DoubleClick (UIMouseEvent evt)
 
virtual void XButton1MouseDown (UIMouseEvent evt)
 
virtual void XButton1MouseUp (UIMouseEvent evt)
 
virtual void XButton2Click (UIMouseEvent evt)
 
virtual void XButton2DoubleClick (UIMouseEvent evt)
 
virtual void XButton2MouseDown (UIMouseEvent evt)
 
virtual void XButton2MouseUp (UIMouseEvent evt)
 

Public Attributes

List< UIElement_items = new List<UIElement>()
 
float ListPadding = 5f
 
Action< List< UIElement > > ManualSortMethod
 
- Public Attributes inherited from UIElement
float HAlign
 
StyleDimension Height
 
bool IgnoresMouseInteraction
 If true, this element will be ignored for mouse interactions. This can be used to allow UIElement placed over other UIElement to not be the target of mouse clicks. Defaults to false.
 
StyleDimension Left
 
float MarginBottom
 
float MarginLeft
 
float MarginRight
 
float MarginTop
 
StyleDimension MaxHeight = StyleDimension.Fill
 
StyleDimension MaxWidth = StyleDimension.Fill
 
StyleDimension MinHeight = StyleDimension.Empty
 
StyleDimension MinWidth = StyleDimension.Empty
 
bool OverflowHidden
 
SamplerState OverrideSamplerState
 
float PaddingBottom
 
float PaddingLeft
 
float PaddingRight
 
float PaddingTop
 
StyleDimension Top
 
bool UseImmediateMode
 
float VAlign
 
StyleDimension Width
 

Protected Member Functions

override void DrawSelf (SpriteBatch spriteBatch)
 
- Protected Member Functions inherited from UIElement
virtual void DrawChildren (SpriteBatch spriteBatch)
 
virtual void DrawSelf (SpriteBatch spriteBatch)
 

Protected Attributes

UIScrollbar _scrollbar
 
- Protected Attributes inherited from UIElement
readonly List< UIElementElements = new List<UIElement>()
 

Properties

int Count [get]
 
float ViewPosition [get, set]
 
- Properties inherited from UIElement
IEnumerable< UIElementChildren [get]
 
bool IsMouseHovering [get]
 True when the mouse is hovering over this UIElement. Useful for setting hover tooltips in DrawSelf or drawing hover visual indicators. Note that this is true for all elements in the hierarchy that are hovered, not just the topmost element. For example, hovering over a button that is appended to a panel will mean that IsMouseHovering is true for the button and the panel. Use this or ContainsPoint(Main.MouseScreen) for behaviors that use this logic, such as setting Player.mouseInterface to true.
 
UIElement Parent [get]
 
int UniqueId [get]
 

Additional Inherited Members

- Events inherited from UIElement
MouseEvent OnLeftClick
 
MouseEvent OnLeftDoubleClick
 
MouseEvent OnLeftMouseDown
 
MouseEvent OnLeftMouseUp
 
MouseEvent OnMiddleClick
 
MouseEvent OnMiddleDoubleClick
 
MouseEvent OnMiddleMouseDown
 
MouseEvent OnMiddleMouseUp
 
MouseEvent OnMouseOut
 Called by MouseOut(UIMouseEvent). Use this event instead of inheritance if suitable.
 
MouseEvent OnMouseOver
 Called by MouseOver(UIMouseEvent). Use this event instead of inheritance if suitable.
 
MouseEvent OnRightClick
 
MouseEvent OnRightDoubleClick
 
MouseEvent OnRightMouseDown
 
MouseEvent OnRightMouseUp
 
ScrollWheelEvent OnScrollWheel
 
ElementEvent OnUpdate
 
MouseEvent OnXButton1Click
 
MouseEvent OnXButton1DoubleClick
 
MouseEvent OnXButton1MouseDown
 
MouseEvent OnXButton1MouseUp
 
MouseEvent OnXButton2Click
 
MouseEvent OnXButton2DoubleClick
 
MouseEvent OnXButton2MouseDown
 
MouseEvent OnXButton2MouseUp
 

Member Function Documentation

◆ DrawSelf()

override void UIList.DrawSelf ( SpriteBatch  spriteBatch)
protectedvirtual

Reimplemented from UIElement.

◆ GetSnapPoints()

override List< SnapPoint > UIList.GetSnapPoints ( )
virtual

Reimplemented from UIElement.

◆ Recalculate()

override void UIList.Recalculate ( )
virtual

Reimplemented from UIElement.

◆ RecalculateChildren()

override void UIList.RecalculateChildren ( )
virtual

Reimplemented from UIElement.

◆ ScrollWheel()

override void UIList.ScrollWheel ( UIScrollWheelEvent  evt)
virtual

Reimplemented from UIElement.

◆ Update()

override void UIList.Update ( GameTime  gameTime)
virtual

Reimplemented from UIElement.