A '''SpriteProvider''' component provides a [[Sprite]] for an [[Image (Component)|Image]]. This can be used to display graphics and produce backgrounds.
A '''SpriteProvider''' defines a slice of a [[Texture2D]] as a [[Sprite]] that may be used by other components e.g. [[UIX]] [[Component:Image|Images]] to display graphics or produce backgrounds.
|Texture|{{RootFieldType|AssetRef`1|[[Type:ITexture2D|ITexture2D]]}}|TypeAdv1=true|The sprite to provide.
|Rect|Rect|The rectangle within the sprite to render. Note that the second x and y are actually the width and height of the Rect. The values are proportions of the width and height of the image in the Texture property.
|Rect|Rect|The rectangle within the sprite to render. Note that the second x and y are actually the width and height of the Rect. The values are proportions of the width and height of the image in the Texture property.
|Borders|Float4|
|Borders|Float4|Border widths for [[9-slice scaling]]. The XYZW components set the left, bottom, right, and top borders respectively.
|Scale|Float|
|Scale|Float|
|FixedSize|Float|
|FixedSize|Float|
Line 26:
Line 25:
<!--T:4-->
<!--T:4-->
== Behavior ==
== Behavior ==
Sprite providers due to the current Unity implementation at the time of writing this have issues with switching images very quickly. They will often flash white, causing a health hazard to photo sensitive users. Having all the sprites on UIX elements at once and switching their <code>OrderOffset</code> to change which element renders on top will remove the flashing and is currently the only way to combat this issue.
A SpriteProvider defines a slice of a Texture2D as a Sprite that may be used by other components e.g. UIXImages to display graphics or produce backgrounds.
If true, integrating this asset (e.g. processing procedural assets) gets higher priority than assets with this flag off. An example is user laser procedural meshes.
The rectangle within the sprite to render. Note that the second x and y are actually the width and height of the Rect. The values are proportions of the width and height of the image in the Texture property.
Sprite providers due to the current Unity implementation at the time of writing this have issues with switching images very quickly. They will often flash white, causing a health hazard to photo sensitive users. Having all the sprites on UIX elements at once and switching their OrderOffset to change which element renders on top will remove the flashing and is currently the only way to combat this issue.