using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class UIFade : MonoBehaviour { public float ShowTime; public float FadeTime; public SpriteRenderer Sprite; public GameObject ToPosition; public Camera Camera; public enum Position { BottomLeft, BottomRight } public Position PositionIn; private SimpleTimer waitTimer; private SimpleTween fadeTween; // Use this for initialization void Start () { waitTimer = new SimpleTimer(); fadeTween = new SimpleTween(); waitTimer.Start(ShowTime, Fade); if (ToPosition != null && Camera != null) { Vector3 pos = ToPosition.transform.position; switch (PositionIn) { case Position.BottomLeft: pos.x = Camera.transform.position.x - Camera.orthographicSize * Camera.aspect; break; case Position.BottomRight: pos.x = Camera.transform.position.x + Camera.orthographicSize * Camera.aspect; break; } pos.y = Camera.transform.position.y - Camera.orthographicSize; ToPosition.transform.position = pos; } } private void Fade() { fadeTween.Init(v => { Color c = Sprite.color; c.a = v; Sprite.color = c; }, SimpleTween.EaseLinear, 1, 0, FadeTime); fadeTween.OnFinish = () => Destroy(gameObject); } }