204 lines
5.2 KiB
C#
204 lines
5.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using DG.Tweening;
|
|
using UnityEngine.UI;
|
|
|
|
public class TweenAlpha : MonoBehaviour
|
|
{
|
|
[Range(0f, 1f)]
|
|
public float from = 0f;
|
|
[Range(0f, 1f)]
|
|
public float to = 1f;
|
|
|
|
public TweenStyle playStyle = TweenStyle.Once;
|
|
|
|
public AnimationCurve curve = new AnimationCurve(new Keyframe(0f, 0f, 0f, 1f), new Keyframe(1f, 1f, 1f, 0f));
|
|
|
|
public float timer = 1f;
|
|
|
|
private Tween tweener = null;
|
|
|
|
private SpriteRenderer spriteRender;
|
|
private Image image;
|
|
private Text text;
|
|
|
|
void Awake()
|
|
{
|
|
spriteRender = GetComponent<SpriteRenderer>();
|
|
image = GetComponent<Image>();
|
|
text = GetComponent<Text>();
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
PlayForward();
|
|
}
|
|
|
|
public void PlayForward()
|
|
{
|
|
ResetToBegining();
|
|
switch (playStyle)
|
|
{
|
|
case TweenStyle.Once:
|
|
if (spriteRender != null)
|
|
{
|
|
tweener = spriteRender.DOFade(to, timer).SetEase(curve);
|
|
}
|
|
if (image != null)
|
|
{
|
|
tweener = image.DOFade(to, timer).SetEase(curve);
|
|
}
|
|
if (text != null)
|
|
{
|
|
tweener = text.DOFade(to, timer).SetEase(curve);
|
|
}
|
|
break;
|
|
case TweenStyle.Loop:
|
|
if (spriteRender != null)
|
|
{
|
|
tweener = spriteRender.DOFade(to, timer).SetEase(curve).SetLoops(-1);
|
|
}
|
|
if (image != null)
|
|
{
|
|
tweener = image.DOFade(to, timer).SetEase(curve).SetLoops(-1);
|
|
}
|
|
if (text != null)
|
|
{
|
|
tweener = text.DOFade(to, timer).SetEase(curve).SetLoops(-1);
|
|
}
|
|
break;
|
|
case TweenStyle.PingPong:
|
|
if (spriteRender != null)
|
|
{
|
|
tweener = spriteRender.DOFade(to, timer).SetEase(curve).SetLoops(-1, LoopType.Yoyo);
|
|
}
|
|
if (image != null)
|
|
{
|
|
tweener = image.DOFade(to, timer).SetEase(curve).SetLoops(-1, LoopType.Yoyo);
|
|
}
|
|
if (text != null)
|
|
{
|
|
tweener = text.DOFade(to, timer).SetEase(curve).SetLoops(-1, LoopType.Yoyo);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void PlayReverse()
|
|
{
|
|
ResetToEnding();
|
|
switch (playStyle)
|
|
{
|
|
case TweenStyle.Once:
|
|
if (spriteRender != null)
|
|
{
|
|
tweener = spriteRender.DOFade(from, timer).SetEase(curve);
|
|
}
|
|
if (image != null)
|
|
{
|
|
tweener = image.DOFade(from, timer).SetEase(curve);
|
|
}
|
|
if (text != null)
|
|
{
|
|
tweener = text.DOFade(from, timer).SetEase(curve);
|
|
}
|
|
break;
|
|
case TweenStyle.Loop:
|
|
if (spriteRender != null)
|
|
{
|
|
tweener = spriteRender.DOFade(from, timer).SetEase(curve).SetLoops(-1);
|
|
}
|
|
if (image != null)
|
|
{
|
|
tweener = image.DOFade(from, timer).SetEase(curve).SetLoops(-1);
|
|
}
|
|
if (text != null)
|
|
{
|
|
tweener = text.DOFade(from, timer).SetEase(curve).SetLoops(-1);
|
|
}
|
|
break;
|
|
case TweenStyle.PingPong:
|
|
if (spriteRender != null)
|
|
{
|
|
tweener = spriteRender.DOFade(from, timer).SetEase(curve).SetLoops(-1, LoopType.Yoyo);
|
|
}
|
|
if (image != null)
|
|
{
|
|
tweener = image.DOFade(from, timer).SetEase(curve).SetLoops(-1, LoopType.Yoyo);
|
|
}
|
|
if (text != null)
|
|
{
|
|
tweener = text.DOFade(from, timer).SetEase(curve).SetLoops(-1, LoopType.Yoyo);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void Stop()
|
|
{
|
|
if (tweener != null)
|
|
{
|
|
tweener.Kill();
|
|
}
|
|
}
|
|
|
|
public void Pause()
|
|
{
|
|
if (tweener != null)
|
|
{
|
|
tweener.Pause();
|
|
}
|
|
}
|
|
|
|
public void Play()
|
|
{
|
|
if (tweener != null)
|
|
{
|
|
tweener.Play();
|
|
}
|
|
}
|
|
|
|
public void ResetToBegining()
|
|
{
|
|
if (tweener != null)
|
|
{
|
|
tweener.Kill();
|
|
}
|
|
if (spriteRender != null)
|
|
{
|
|
spriteRender.DOFade(from, 0f);
|
|
}
|
|
if (image != null)
|
|
{
|
|
image.DOFade(from, 0f);
|
|
}
|
|
if (text != null)
|
|
{
|
|
text.DOFade(from, 0f);
|
|
}
|
|
}
|
|
|
|
public void ResetToEnding()
|
|
{
|
|
if (tweener != null)
|
|
{
|
|
tweener.Kill();
|
|
}
|
|
if (spriteRender != null)
|
|
{
|
|
spriteRender.DOFade(to, 0f);
|
|
}
|
|
if (image != null)
|
|
{
|
|
image.DOFade(to, 0f);
|
|
}
|
|
if (text != null)
|
|
{
|
|
text.DOFade(to, 0f);
|
|
}
|
|
}
|
|
|
|
|
|
}
|