NGUI: Next-Gen UI kit  3.7.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
UISprite Class Reference

Sprite is a textured element in the UI hierarchy. More...

Inheritance diagram for UISprite:
UIBasicSprite UIWidget UIRect

Public Member Functions

UISpriteData GetAtlasSprite ()
 Retrieve the atlas sprite referenced by the spriteName field. More...
 
override void MakePixelPerfect ()
 Adjust the scale of the widget to make it pixel-perfect. More...
 
override void OnFill (BetterList< Vector3 > verts, BetterList< Vector2 > uvs, BetterList< Color32 > cols)
 Virtual function called by the UIPanel that fills the buffers. More...
 
- Public Member Functions inherited from UIWidget
delegate void OnDimensionsChanged ()
 
delegate void OnPostFillCallback (UIWidget widget, int bufferOffset, BetterList< Vector3 > verts, BetterList< Vector2 > uvs, BetterList< Color32 > cols)
 
delegate bool HitCheck (Vector3 worldPos)
 
void SetDimensions (int w, int h)
 Adjust the widget's dimensions without going through the anchor validation logic. More...
 
override Vector3[] GetSides (Transform relativeTo)
 Get the sides of the rectangle relative to the specified transform. The order is left, top, right, bottom. More...
 
override float CalculateFinalAlpha (int frameID)
 Widget's final alpha, after taking the panel's alpha into account. More...
 
override void Invalidate (bool includeChildren)
 Update the widget's visibility and final alpha. More...
 
float CalculateCumulativeAlpha (int frameID)
 Same as final alpha, except it doesn't take own visibility into consideration. Used by panels. More...
 
override void SetRect (float x, float y, float width, float height)
 Set the widget's rectangle. More...
 
void ResizeCollider ()
 Adjust the widget's collider size to match the widget's dimensions. More...
 
Bounds CalculateBounds ()
 Calculate the widget's bounds, optionally making them relative to the specified transform. More...
 
Bounds CalculateBounds (Transform relativeParent)
 Calculate the widget's bounds, optionally making them relative to the specified transform. More...
 
void SetDirty ()
 Mark the widget as changed so that the geometry can be rebuilt. More...
 
void RemoveFromPanel ()
 Remove this widget from the panel. More...
 
virtual void MarkAsChanged ()
 Tell the panel responsible for the widget that something has changed and the buffers need to be rebuilt. More...
 
UIPanel CreatePanel ()
 Ensure we have a panel referencing this widget. More...
 
void CheckLayer ()
 Check to ensure that the widget resides on the same layer as its panel. More...
 
override void ParentHasChanged ()
 Checks to ensure that the widget is still parented to the right panel. More...
 
bool UpdateVisibility (bool visibleByAlpha, bool visibleByPanel)
 Update the widget's visibility state. More...
 
bool UpdateTransform (int frame)
 Check to see if the widget has moved relative to the panel that manages it More...
 
bool UpdateGeometry (int frame)
 Update the widget and fill its geometry if necessary. Returns whether something was changed. More...
 
void WriteToBuffers (BetterList< Vector3 > v, BetterList< Vector2 > u, BetterList< Color32 > c, BetterList< Vector3 > n, BetterList< Vector4 > t)
 Append the local geometry buffers to the specified ones. More...
 
- Public Member Functions inherited from UIRect
void Update ()
 Rectangles need to update in a specific order – parents before children. When deriving from this class, override its OnUpdate() function instead. More...
 
void UpdateAnchors ()
 Manually update anchored sides. More...
 
void SetAnchor (Transform t)
 Anchor this rectangle to the specified transform. Note that this function will not keep the rectangle's current dimensions, but will instead assume the target's dimensions. More...
 
void SetAnchor (GameObject go)
 Anchor this rectangle to the specified transform. Note that this function will not keep the rectangle's current dimensions, but will instead assume the target's dimensions. More...
 
void SetAnchor (GameObject go, int left, int bottom, int right, int top)
 Anchor this rectangle to the specified transform. More...
 
void ResetAnchors ()
 Ensure that all rect references are set correctly on the anchors. More...
 
void ResetAndUpdateAnchors ()
 Convenience method that resets and updates the anchors, all at once. More...
 

Protected Member Functions

void SetAtlasSprite (UISpriteData sp)
 Set the atlas sprite directly. More...
 
override void OnInit ()
 Auto-upgrade. More...
 
override void OnUpdate ()
 Update the UV coordinates. More...
 
- Protected Member Functions inherited from UIBasicSprite
void Fill (BetterList< Vector3 > verts, BetterList< Vector2 > uvs, BetterList< Color32 > cols, Rect outer, Rect inner)
 Fill the draw buffers. More...
 
- Protected Member Functions inherited from UIWidget
override void OnEnable ()
 Automatically find the parent rectangle. More...
 
void UpdateFinalAlpha (int frameID)
 Force-calculate the final alpha value. More...
 
virtual void Awake ()
 Remember whether we're in play mode. More...
 
virtual void UpgradeFrom265 ()
 Facilitates upgrading from NGUI 2.6.5 or earlier versions. More...
 
override void OnStart ()
 Virtual Start() functionality for widgets. More...
 
override void OnAnchor ()
 Update the anchored edges and ensure the widget is registered with a panel. More...
 
override void OnDisable ()
 Clear references. More...
 
- Protected Member Functions inherited from UIRect
Vector3 GetLocalPos (AnchorPoint ac, Transform trans)
 Helper function that gets the specified anchor's position relative to the chosen transform. More...
 
void Start ()
 Set anchor rect references on start. More...
 

Protected Attributes

UISpriteData mSprite
 
- Protected Attributes inherited from UIBasicSprite
Type mType = Type.Simple
 
FillDirection mFillDirection = FillDirection.Radial360
 
float mFillAmount = 1.0f
 
bool mInvert = false
 
Flip mFlip = Flip.Nothing
 
- Protected Attributes inherited from UIWidget
Color mColor = Color.white
 
Pivot mPivot = Pivot.Center
 
int mWidth = 100
 
int mHeight = 100
 
int mDepth = 0
 
bool mPlayMode = true
 
Vector4 mDrawRegion = new Vector4(0f, 0f, 1f, 1f)
 
Vector3[] mCorners = new Vector3[4]
 
CanvasRenderer mRen
 
- Protected Attributes inherited from UIRect
GameObject mGo
 
Transform mTrans
 
BetterList< UIRectmChildren = new BetterList<UIRect>()
 
bool mChanged = true
 
bool mStarted = false
 
bool mParentFound = false
 
Camera mCam
 

Properties

override Material material [get]
 Retrieve the material used by the font. More...
 
UIAtlas atlas [get, set]
 Atlas used by this widget. More...
 
string spriteName [get, set]
 Sprite within the atlas used to draw this widget. More...
 
bool isValid [get]
 Is there a valid sprite to work with? More...
 
bool fillCenter [get, set]
 Whether the center part of the sprite will be filled or not. Turn it off if you want only to borders to show up. More...
 
override Vector4 border [get]
 Sliced sprites generally have a border. X = left, Y = bottom, Z = right, W = top. More...
 
override float pixelSize [get]
 Size of the pixel – used for drawing. More...
 
override int minWidth [get]
 Minimum allowed width for this widget. More...
 
override int minHeight [get]
 Minimum allowed height for this widget. More...
 
override Vector4 drawingDimensions [get]
 Sprite's dimensions used for drawing. X = left, Y = bottom, Z = right, W = top. This function automatically adds 1 pixel on the edge if the sprite's dimensions are not even. It's used to achieve pixel-perfect sprites even when an odd dimension sprite happens to be centered. More...
 
override bool premultipliedAlpha [get]
 Whether the texture is using a premultiplied alpha material. More...
 
- Properties inherited from UIBasicSprite
virtual Type type [get, set]
 How the sprite is drawn. It's virtual for legacy reasons (UISlicedSprite, UITiledSprite, UIFilledSprite). More...
 
Flip flip [get, set]
 Sprite flip setting. More...
 
FillDirection fillDirection [get, set]
 Direction of the cut procedure. More...
 
float fillAmount [get, set]
 Amount of the sprite shown. 0-1 range with 0 being nothing shown, and 1 being the full sprite. More...
 
override int minWidth [get]
 Minimum allowed width for this widget. More...
 
override int minHeight [get]
 Minimum allowed height for this widget. More...
 
bool invert [get, set]
 Whether the sprite should be filled in the opposite direction. More...
 
bool hasBorder [get]
 Whether the widget has a border for 9-slicing. More...
 
virtual bool premultipliedAlpha [get]
 Whether the sprite's material is using a pre-multiplied alpha shader. More...
 
virtual float pixelSize [get]
 Size of the pixel. Overwritten in the NGUI sprite to pull a value from the atlas. More...
 
- Properties inherited from UIWidget
UIDrawCall.OnRenderCallback onRender [get, set]
 Set the callback that will be triggered when the widget is being rendered (OnWillRenderObject). This is where you would set material properties and shader values. More...
 
CanvasRenderer canvasRenderer [get]
 Canvas renderer that's responsible for the widget's geometry, if there is one present. More...
 
Vector4 drawRegion [get, set]
 Draw region alters how the widget looks without modifying the widget's rectangle. A region is made up of 4 relative values (0-1 range). The order is Left (X), Bottom (Y), Right (Z) and Top (W). To have a widget's left edge be 30% from the left side, set X to 0.3. To have the widget's right edge be 30% from the right hand side, set Z to 0.7. More...
 
Vector2 pivotOffset [get]
 Pivot offset in relative coordinates. Bottom-left is (0, 0). Top-right is (1, 1). More...
 
int width [get, set]
 Widget's width in pixels. More...
 
int height [get, set]
 Widget's height in pixels. More...
 
Color color [get, set]
 Color used by the widget. More...
 
override float alpha [get, set]
 Widget's alpha – a convenience method. More...
 
bool isVisible [get]
 Whether the widget is currently visible. More...
 
bool hasVertices [get]
 Whether the widget has vertices to draw. More...
 
Pivot rawPivot [get, set]
 Change the pivot point and do not attempt to keep the widget in the same place by adjusting its transform. More...
 
Pivot pivot [get, set]
 Set or get the value that specifies where the widget's pivot point should be. More...
 
int depth [get, set]
 Depth controls the rendering order – lowest to highest. More...
 
int raycastDepth [get]
 Raycast depth order on widgets takes the depth of their panel into consideration. This functionality is used to determine the "final" depth of the widget for drawing and raycasts. More...
 
override Vector3[] localCorners [get]
 Local space corners of the widget. The order is bottom-left, top-left, top-right, bottom-right. More...
 
virtual Vector2 localSize [get]
 Local width and height of the widget in pixels. More...
 
Vector3 localCenter [get]
 Widget's center in local coordinates. Don't forget to transform by the widget's transform. More...
 
override Vector3[] worldCorners [get]
 World-space corners of the widget. The order is bottom-left, top-left, top-right, bottom-right. More...
 
Vector3 worldCenter [get]
 World-space center of the widget. More...
 
virtual Vector4 drawingDimensions [get]
 Local space region where the actual drawing will take place. X = left, Y = bottom, Z = right, W = top. More...
 
virtual Material material [get, set]
 Material used by the widget. More...
 
virtual Texture mainTexture [get, set]
 Texture used by the widget. More...
 
virtual Shader shader [get, set]
 Shader is used to create a dynamic material if the widget has no material to work with. More...
 
Vector2 relativeSize [get]
 Do not use this, it's obsolete. More...
 
bool hasBoxCollider [get]
 Convenience function that returns 'true' if the widget has a box collider. More...
 
virtual int minWidth [get]
 Minimum allowed width for this widget. More...
 
virtual int minHeight [get]
 Minimum allowed height for this widget. More...
 
virtual Vector4 border [get, set]
 Dimensions of the sprite's border, if any. More...
 
- Properties inherited from UIRect
GameObject cachedGameObject [get]
 Game object gets cached for speed. Can't simply return 'mGo' set in Awake because this function may be called on a prefab. More...
 
Transform cachedTransform [get]
 Transform gets cached for speed. Can't simply return 'mTrans' set in Awake because this function may be called on a prefab. More...
 
Camera anchorCamera [get]
 Camera used by anchors. More...
 
bool isFullyAnchored [get]
 Whether the rectangle is currently anchored fully on all sides. More...
 
virtual bool isAnchoredHorizontally [get]
 Whether the rectangle is anchored horizontally. More...
 
virtual bool isAnchoredVertically [get]
 Whether the rectangle is anchored vertically. More...
 
virtual bool canBeAnchored [get]
 Whether the rectangle can be anchored. More...
 
UIRect parent [get]
 Get the rectangle's parent, if any. More...
 
UIRoot root [get]
 Get the root object, if any. More...
 
bool isAnchored [get]
 Returns 'true' if the widget is currently anchored on any side. More...
 
abstract float alpha [get, set]
 Local alpha, not relative to anything. More...
 
abstract Vector3[] localCorners [get]
 Local-space corners of the UI rectangle. The order is bottom-left, top-left, top-right, bottom-right. More...
 
abstract Vector3[] worldCorners [get]
 World-space corners of the UI rectangle. The order is bottom-left, top-left, top-right, bottom-right. More...
 
float cameraRayDistance [get]
 Helper function that returns the distance to the camera's directional vector hitting the panel's plane. More...
 

Additional Inherited Members

- Public Types inherited from UIBasicSprite
enum  Type {
  Type.Simple, Type.Sliced, Type.Tiled, Type.Filled,
  Type.Advanced
}
 
enum  FillDirection {
  FillDirection.Horizontal, FillDirection.Vertical, FillDirection.Radial90, FillDirection.Radial180,
  FillDirection.Radial360
}
 
enum  AdvancedType { AdvancedType.Invisible, AdvancedType.Sliced, AdvancedType.Tiled }
 
enum  Flip { Flip.Nothing, Flip.Horizontally, Flip.Vertically, Flip.Both }
 
- Public Types inherited from UIWidget
enum  Pivot {
  Pivot.TopLeft, Pivot.Top, Pivot.TopRight, Pivot.Left,
  Pivot.Center, Pivot.Right, Pivot.BottomLeft, Pivot.Bottom,
  Pivot.BottomRight
}
 
enum  AspectRatioSource { AspectRatioSource.Free, AspectRatioSource.BasedOnWidth, AspectRatioSource.BasedOnHeight }
 
- Public Types inherited from UIRect
enum  AnchorUpdate { AnchorUpdate.OnEnable, AnchorUpdate.OnUpdate, AnchorUpdate.OnStart }
 
- Static Public Member Functions inherited from UIWidget
static int FullCompareFunc (UIWidget left, UIWidget right)
 Static widget comparison function used for depth sorting. More...
 
static int PanelCompareFunc (UIWidget left, UIWidget right)
 Static widget comparison function used for inter-panel depth sorting. More...
 
- Public Attributes inherited from UIBasicSprite
AdvancedType centerType = AdvancedType.Sliced
 When the sprite type is advanced, this determines whether the center is tiled or sliced. More...
 
AdvancedType leftType = AdvancedType.Sliced
 When the sprite type is advanced, this determines whether the left edge is tiled or sliced. More...
 
AdvancedType rightType = AdvancedType.Sliced
 When the sprite type is advanced, this determines whether the right edge is tiled or sliced. More...
 
AdvancedType bottomType = AdvancedType.Sliced
 When the sprite type is advanced, this determines whether the bottom edge is tiled or sliced. More...
 
AdvancedType topType = AdvancedType.Sliced
 When the sprite type is advanced, this determines whether the top edge is tiled or sliced. More...
 
- Public Attributes inherited from UIWidget
OnDimensionsChanged onChange
 Notification triggered when the widget's dimensions or position changes. More...
 
OnPostFillCallback onPostFill
 Notification triggered after the widget's buffer has been filled. More...
 
UIDrawCall.OnRenderCallback mOnRender
 Callback triggered when the widget is about to be renderered (OnWillRenderObject). NOTE: This property is only exposed for the sake of speed to avoid property execution. In most cases you will want to use UIWidget.onRender instead. More...
 
bool autoResizeBoxCollider = false
 If set to 'true', the box collider's dimensions will be adjusted to always match the widget whenever it resizes. More...
 
bool hideIfOffScreen = false
 Hide the widget if it happens to be off-screen. More...
 
AspectRatioSource keepAspectRatio = AspectRatioSource.Free
 Whether the rectangle will attempt to maintain a specific aspect ratio. More...
 
float aspectRatio = 1f
 If you want the anchored rectangle to keep a specific aspect ratio, set this value. More...
 
HitCheck hitCheck
 Custom hit check function. If set, all hit checks (including events) will call this function, passing the world position. Return 'true' if it's within the bounds of your choice, 'false' otherwise. More...
 
UIPanel panel
 Panel that's managing this widget. More...
 
UIGeometry geometry = new UIGeometry()
 Widget's generated geometry. More...
 
bool fillGeometry = true
 If set to 'false', the widget's OnFill function will not be called, letting you define custom geometry at will. More...
 
UIDrawCall drawCall
 Internal usage – draw call that's drawing the widget. More...
 
- Public Attributes inherited from UIRect
AnchorPoint leftAnchor = new AnchorPoint()
 Left side anchor. More...
 
AnchorPoint rightAnchor = new AnchorPoint(1f)
 Right side anchor. More...
 
AnchorPoint bottomAnchor = new AnchorPoint()
 Bottom side anchor. More...
 
AnchorPoint topAnchor = new AnchorPoint(1f)
 Top side anchor. More...
 
AnchorUpdate updateAnchors = AnchorUpdate.OnUpdate
 Whether anchors will be recalculated on every update. More...
 
float finalAlpha = 1f
 Final calculated alpha. More...
 
- Static Protected Attributes inherited from UIBasicSprite
static Vector2[] mTempPos = new Vector2[4]
 
static Vector2[] mTempUVs = new Vector2[4]
 
- Static Protected Attributes inherited from UIRect
static Vector3[] mSides = new Vector3[4]
 

Detailed Description

Sprite is a textured element in the UI hierarchy.

Member Function Documentation

UISpriteData UISprite.GetAtlasSprite ( )

Retrieve the atlas sprite referenced by the spriteName field.

override void UISprite.MakePixelPerfect ( )
virtual

Adjust the scale of the widget to make it pixel-perfect.

Reimplemented from UIWidget.

override void UISprite.OnFill ( BetterList< Vector3 >  verts,
BetterList< Vector2 >  uvs,
BetterList< Color32 >  cols 
)
virtual

Virtual function called by the UIPanel that fills the buffers.

Reimplemented from UIWidget.

override void UISprite.OnInit ( )
protectedvirtual

Auto-upgrade.

Reimplemented from UIWidget.

override void UISprite.OnUpdate ( )
protectedvirtual

Update the UV coordinates.

Reimplemented from UIWidget.

void UISprite.SetAtlasSprite ( UISpriteData  sp)
protected

Set the atlas sprite directly.

Member Data Documentation

UISpriteData UISprite.mSprite
protected

Property Documentation

UIAtlas UISprite.atlas
getset

Atlas used by this widget.

override Vector4 UISprite.border
get

Sliced sprites generally have a border. X = left, Y = bottom, Z = right, W = top.

override Vector4 UISprite.drawingDimensions
get

Sprite's dimensions used for drawing. X = left, Y = bottom, Z = right, W = top. This function automatically adds 1 pixel on the edge if the sprite's dimensions are not even. It's used to achieve pixel-perfect sprites even when an odd dimension sprite happens to be centered.

bool UISprite.fillCenter
getset

Whether the center part of the sprite will be filled or not. Turn it off if you want only to borders to show up.

bool UISprite.isValid
get

Is there a valid sprite to work with?

override Material UISprite.material
get

Retrieve the material used by the font.

override int UISprite.minHeight
get

Minimum allowed height for this widget.

override int UISprite.minWidth
get

Minimum allowed width for this widget.

override float UISprite.pixelSize
get

Size of the pixel – used for drawing.

override bool UISprite.premultipliedAlpha
get

Whether the texture is using a premultiplied alpha material.

string UISprite.spriteName
getset

Sprite within the atlas used to draw this widget.


The documentation for this class was generated from the following file: