using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
namespace UGUITweener
{
[ExecuteInEditMode]
public class TweenColor : TweenerSetting
{
public Color from = Color.white;
public Color to = Color.white;
private Graphic mSr;
public override void TweenPlay(bool value)
{
Color startColor = value ? from : to;
Color endColor = value ? to : from;
mSr.color = startColor;
mSr.DOKill();
tween = mSr.DOColor(endColor, duration).OnComplete(unityEvent.Invoke);
SetTweenData();
}
private void OnDestroy()
{
if (mSr)
mSr.DOKill();
}
private void OnDisable()
{
if (mSr)
mSr.DOKill();
}
public override void SetStartToCurrentValue()
{
mSr =(Graphic)GetComponent<Image>()?(Graphic)GetComponent<Image>(): (Graphic)GetComponent<RawImage>();
from=mSr.color;
}
#if UNITY_EDITOR
[ContextMenu("设置 From")]
private void SetFromColor()
{
from = mSr.color;
}
[ContextMenu("设置 Image Color")]
private void SetImageColor()
{
if (mSr)
{
mSr.color = from;
}
}
#endif
}
}