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

Functionality common to both NGUI and 2D sprites brought out into a single common parent. Mostly contains everything related to drawing the sprite. More...

Inheritance diagram for UIBasicSprite:
UIWidget UIRect UI2DSprite UISprite UITexture

Public Types

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 }
 

Public Attributes

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...
 

Protected Member Functions

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...
 
override void OnInit ()
 Mark the widget and the panel as having been changed. 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 OnUpdate ()
 Ensure we have a panel to work with. 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

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
 

Static Protected Attributes

static Vector2[] mTempPos = new Vector2[4]
 
static Vector2[] mTempUVs = new Vector2[4]
 
- Static Protected Attributes inherited from UIRect
static Vector3[] mSides = new Vector3[4]
 

Properties

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 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...
 
virtual void MakePixelPerfect ()
 Make the widget pixel-perfect. More...
 
virtual 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 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...
 
- 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...
 

Detailed Description

Functionality common to both NGUI and 2D sprites brought out into a single common parent. Mostly contains everything related to drawing the sprite.

Member Enumeration Documentation

Enumerator
Invisible 
Sliced 
Tiled 
Enumerator
Horizontal 
Vertical 
Radial90 
Radial180 
Radial360 
Enumerator
Nothing 
Horizontally 
Vertically 
Both 
Enumerator
Simple 
Sliced 
Tiled 
Filled 
Advanced 

Member Function Documentation

void UIBasicSprite.Fill ( BetterList< Vector3 >  verts,
BetterList< Vector2 >  uvs,
BetterList< Color32 >  cols,
Rect  outer,
Rect  inner 
)
protected

Fill the draw buffers.

Member Data Documentation

AdvancedType UIBasicSprite.bottomType = AdvancedType.Sliced

When the sprite type is advanced, this determines whether the bottom edge is tiled or sliced.

AdvancedType UIBasicSprite.centerType = AdvancedType.Sliced

When the sprite type is advanced, this determines whether the center is tiled or sliced.

AdvancedType UIBasicSprite.leftType = AdvancedType.Sliced

When the sprite type is advanced, this determines whether the left edge is tiled or sliced.

float UIBasicSprite.mFillAmount = 1.0f
protected
FillDirection UIBasicSprite.mFillDirection = FillDirection.Radial360
protected
Flip UIBasicSprite.mFlip = Flip.Nothing
protected
bool UIBasicSprite.mInvert = false
protected
Vector2 [] UIBasicSprite.mTempPos = new Vector2[4]
staticprotected
Vector2 [] UIBasicSprite.mTempUVs = new Vector2[4]
staticprotected
Type UIBasicSprite.mType = Type.Simple
protected
AdvancedType UIBasicSprite.rightType = AdvancedType.Sliced

When the sprite type is advanced, this determines whether the right edge is tiled or sliced.

AdvancedType UIBasicSprite.topType = AdvancedType.Sliced

When the sprite type is advanced, this determines whether the top edge is tiled or sliced.

Property Documentation

float UIBasicSprite.fillAmount
getset

Amount of the sprite shown. 0-1 range with 0 being nothing shown, and 1 being the full sprite.

FillDirection UIBasicSprite.fillDirection
getset

Direction of the cut procedure.

Flip UIBasicSprite.flip
getset

Sprite flip setting.

bool UIBasicSprite.hasBorder
get

Whether the widget has a border for 9-slicing.

bool UIBasicSprite.invert
getset

Whether the sprite should be filled in the opposite direction.

override int UIBasicSprite.minHeight
get

Minimum allowed height for this widget.

override int UIBasicSprite.minWidth
get

Minimum allowed width for this widget.

virtual float UIBasicSprite.pixelSize
get

Size of the pixel. Overwritten in the NGUI sprite to pull a value from the atlas.

virtual bool UIBasicSprite.premultipliedAlpha
get

Whether the sprite's material is using a pre-multiplied alpha shader.

virtual Type UIBasicSprite.type
getset

How the sprite is drawn. It's virtual for legacy reasons (UISlicedSprite, UITiledSprite, UIFilledSprite).


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