using UnityEngine; namespace AlicizaX.AnimationFlow.Runtime { [Category("Property")] public class SpriteRendererProperty : ActionNode { public SpriteRenderer target; public bool setSprite = true; public Sprite sprite; public bool setColor; public Color color; public bool setLayer; public int layer; protected Sprite orgSprite; protected Color orgColor; protected int orgLayer; public override void OnInit() { orgSprite = target.sprite; orgColor = target.color; orgLayer = target.sortingLayerID; } public override void OnReset() { if (setSprite) { target.sprite = orgSprite; } if (setColor) { target.color = orgColor; } if (setLayer) { target.sortingLayerID = orgLayer; } } public override void OnEnter() { if (setSprite) { target.sprite = sprite; } if (setColor) { target.color = color; } if (setLayer) { target.sortingLayerID = layer; } } public override bool Valid() { return target != null; } public override bool HasSubTitle() { return true; } public override string SubTitle() { return target != null ? target.name : null; } } }