using GlitchyEngine.Core; using GlitchyEngine.Math; namespace GlitchyEngine.Graphics; /// /// Component that renders a sprite. /// public class SpriteRenderer : Component { // TODO: Texture2D/Sprite /// /// Gets or sets the tint color. /// public ColorRGBA Color { get { ScriptGlue.SpriteRenderer_GetColor(_uuid, out ColorRGBA color); return color; } set => ScriptGlue.SpriteRenderer_SetColor(_uuid, value); } /// /// Gets or sets the UV-transform. /// public UVTransform UVTransform { get { ScriptGlue.SpriteRenderer_GetUvTransform(_uuid, out UVTransform uvTransform); return uvTransform; } set => ScriptGlue.SpriteRenderer_SetUvTransform(_uuid, value); } /// /// Gets or sets the Material of this SpriteRenderer. /// /// /// If you get the and it is not yet a runtime-instance, /// a new runtime-instance will be created and returned in its place. /// public Material Material { get { ScriptGlue.SpriteRenderer_GetMaterial(_uuid, out UUID materialHandle); return new Material { _uuid = materialHandle }; } set => ScriptGlue.SpriteRenderer_SetMaterial(_uuid, value._uuid); } }