com.alicizax.unity.animatio.../Runtime/Core/Property/SpriteRendererProperty.cs
陈思海 11e5744b46 init
2025-02-07 16:05:13 +08:00

61 lines
1.5 KiB
C#

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;
}
}
}