提供各种DOtween的Shortcut扩展方法对应的MonoBehaviour包装类和Tween动画在Editor模式下的预览播放功能。
现只对target类型为Component的扩展方法进行了包装,
在AddComponent列表中按照Component实际类型分类显示,
方便进行查找。
所有包装类均派生自Animation泛型类,其泛型参数为target类型。
自定义包装类时同样只需继承Animation,实现CreateTween抽象方法即可。
自定义的包装类的Inspector同样具有预览按钮。
如下为实现DOMove的代码
[AddComponentMenu("EasyDOTween/Transform/DOMove")]
public class DOMove : EasyDOTween.Animation<Transform>
{
[SerializeField]
private Vector3 endValue;
[SerializeField]
private bool snapping = false;
protected override Tween CreateTween(Transform target, float duration)
{
return target.DOMove(endValue, duration, snapping);
}
}每种包装类的Inspector界面都有预览按钮,
设置好target或者挂到含有target对应类别的GameObject下(此时会将对应的Component设置为target),
点击Play按钮即可在编辑器模式下预览Tween动画,如下图:
如果可序列化的类(带有Serializable属性)里含有返回值为Tween类型的方法,
可在该类型字段的属性列表里加入TweenPreview属性,
这之后可在Inspector中看到对应方法名的按钮,
设置好参数后点击即可进行编辑器模式下的预览。
public class Test : MonoBehaviour
{
[SerializeField, TweenPreview]
MoveTo _moveTo;
[Serializable]
class MoveTo
{
[SerializeField]
Vector3 _pos;
[SerializeField]
float _duration;
public Tween PlayMoveX(Transform t)
{
return t.DOMoveX(_pos.x, _duration);
}
public Tween PlayMoveY(Transform t)
{
return t.DOMoveY(_pos.y, _duration);
}
}
}


