Esempio n. 1
0
    public void animateCurrencyChange(int _value)
    {
        string prefix = "+";

        if (_value < 0)
        {
            prefix = "";
        }

        string textChange = prefix + _value + " ¤";

        if ((Time.time - lastAnimation < 0.5f))
        {
            lastY = lastY + 45f;
        }
        else
        {
            lastY = -180f;
        }
        lastAnimation = Time.time;
        AnimatedCurrency newAnimatedCurrency = Instantiate(animatedCurrency);

        newAnimatedCurrency.transform.SetParent(this.gameObject.transform);
        newAnimatedCurrency.setY(lastY);
        newAnimatedCurrency.setText(textChange);
    }
Esempio n. 2
0
    private IEnumerator AnimateRoutine()
    {
        float totalTime = 1.25f;

        while (true)
        {
            for (int i = 0; i < animatedCurrenciesInFlight.Count; i++)
            {
                AnimatedCurrency animatedCurrency = animatedCurrenciesInFlight[i];
                if (animatedCurrency.time > 0f)
                {
                    if (animatedCurrency.onLeave != null)
                    {
                        animatedCurrency.onLeave(animatedCurrency.value);
                    }
                    animatedCurrency.image.enabled = true;
                    if (animatedCurrency.time > totalTime)
                    {
                        animatedCurrenciesInFlight.RemoveAt(i);
                        i--;
                        animatedCurrencies.Add(animatedCurrency);
                        animatedCurrency.image.enabled = false;
                        if (animatedCurrency.onArrive != null)
                        {
                            animatedCurrency.onArrive(animatedCurrency.value);
                        }
                        TryPlayAudio(animatedCurrency.audioName);
                    }
                    else
                    {
                        animatedCurrency.image.transform.position = animatedCurrency.spline.interp(animatedCurrency.time / totalTime);
                    }
                }
                else if (animatedCurrency.time + Time.unscaledDeltaTime > 0f)
                {
                    TryPlayAudio(animatedCurrency.audioName);
                }
                animatedCurrency.time += Time.unscaledDeltaTime;
            }
            yield return(null);
        }
    }
Esempio n. 3
0
    private void AnimateCurrencies(AnimatedCurrencySettings settings)
    {
        if (animatedCurrencies.Count == 0)
        {
            return;
        }
        Vector3 vector  = MenuController.UICamera.ViewportToWorldPoint(settings.fromViewportSpace);
        Vector3 vector2 = MenuController.UICamera.ViewportToWorldPoint(settings.toViewportSpace);

        vector.z  = base.transform.position.z;
        vector2.z = base.transform.position.z;
        Vector3  vector3    = vector - vector2;
        Vector3  normalized = vector3.normalized;
        int      count      = settings.count;
        int      num        = count / settings.countPerSprite;
        int      num2       = 0;
        LTSpline spline;

        while (true)
        {
            if (num2 < num)
            {
                spline = new LTSpline(new Vector3[6]
                {
                    vector,
                    vector,
                    vector + (Vector3)UnityEngine.Random.insideUnitCircle * 2.5f + normalized * vector3.magnitude * 0.2f,
                    vector + (Vector3)UnityEngine.Random.insideUnitCircle * 2.5f + normalized * vector3.magnitude * 0.05f,
                    vector2,
                    vector2
                });
                if (animatedCurrencies.Count > 1)
                {
                    AnimatedCurrency animatedCurrency = animatedCurrencies[animatedCurrencies.Count - 1];
                    animatedCurrencies.RemoveAt(animatedCurrencies.Count - 1);
                    animatedCurrency.onArrive     = settings.onArrive;
                    animatedCurrency.onLeave      = settings.onLeave;
                    animatedCurrency.image.sprite = settings.icon;
                    animatedCurrency.image.SetNativeSize();
                    animatedCurrency.time      = (float)(-num2) * 0.01f;
                    animatedCurrency.value     = ((num2 == num - 1) ? (count - settings.countPerSprite * num2) : settings.countPerSprite);
                    animatedCurrency.spline    = spline;
                    animatedCurrency.audioName = settings.audioName;
                    animatedCurrenciesInFlight.Insert(0, animatedCurrency);
                }
                else if (animatedCurrencies.Count == 1)
                {
                    break;
                }
                num2++;
                continue;
            }
            return;
        }
        AnimatedCurrency animatedCurrency2 = animatedCurrencies[animatedCurrencies.Count - 1];

        animatedCurrencies.RemoveAt(animatedCurrencies.Count - 1);
        animatedCurrency2.onArrive     = settings.onArrive;
        animatedCurrency2.onLeave      = settings.onLeave;
        animatedCurrency2.image.sprite = settings.icon;
        animatedCurrency2.image.SetNativeSize();
        animatedCurrency2.time      = (float)(-num2) * 0.01f;
        animatedCurrency2.value     = count - settings.countPerSprite * num2;
        animatedCurrency2.spline    = spline;
        animatedCurrency2.audioName = settings.audioName;
        animatedCurrenciesInFlight.Insert(0, animatedCurrency2);
    }