Example #1
0
    // -- PUBLIC

    // .. OPERATIONS

    public void Fade(float target_alpha, float time, EasingFunctions.TYPE easing_type = EasingFunctions.TYPE.Regular)
    {
        StopCoroutine("UpdateFade");

        object[] args = new object[] { target_alpha, time, easing_type };
        StartCoroutine("UpdateFade", args);
    }
Example #2
0
    // -- PUBLIC

    // .. OPERATIONS

    public void StartAnimation(
        EasingFunctions.TYPE ease_type,
        Vector3 start_scale,
        Vector3 end_scale,
        float time
        )
    {
        object[]
        parameters = { time, ease_type, start_scale, end_scale };

        StopCoroutine("UpdateScale");
        StartCoroutine("UpdateScale", parameters);
    }
Example #3
0
        public void StartAnimation(
            EasingFunctions.TYPE ease_type,
            Vector3 start_position,
            Vector3 end_position,
            float time
            )
        {
            object[]
            parameters = { time, ease_type, start_position, end_position };

            StopCoroutine("UpdateTranslation");
            StartCoroutine("UpdateTranslation", parameters);
        }
Example #4
0
    // .. COROUTINES

    IEnumerator UpdateFade(object[] args)
    {
        float target_alpha   = Mathf.Clamp01((float)args[0]);
        float animation_time = (float)args[1];

        EasingFunctions.TYPE easing_type = (EasingFunctions.TYPE)args[2];

        if (CanvasGroup == null)
        {
            CanvasGroup = GetComponent <CanvasGroup>();
        }

        float start_alpha = CanvasGroup.alpha;
        float elapsed     = 0f;

        while (elapsed < animation_time)
        {
            CanvasGroup.alpha = EasingFunctions.Ease(easing_type, elapsed / animation_time, start_alpha, target_alpha);
            elapsed          += Time.deltaTime;
            yield return(null);
        }

        CanvasGroup.alpha = target_alpha;
    }