Esempio n. 1
0
    public IEnumerator DestroyScale(float waitTime)
    {
        float t = Time.time;

        while (Time.time < t + waitTime)
        {
            transform.localScale = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t) / waitTime);
            yield return(null);
        }
    }
Esempio n. 2
0
    IEnumerator DestroyScale(float waitTime)
    {
        Destroy(GetComponent <ChangeScale>());
        float t = Time.time;

        while (Time.time < t + waitTime)
        {
            transform.localScale = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t) / waitTime);
            yield return(null);
        }
    }
Esempio n. 3
0
    public IEnumerator DestroyScale(float waitTimePos, float waitTimeScale)
    {
        float t = Time.time;

        while (Time.time < t + waitTimePos)
        {
            float tt = (Time.time - t) / (waitTimePos);
            GatePart.localPosition += dir * partCurve.Evaluate(tt) * 0.3f;
            yield return(null);
        }
        while (t + waitTimePos < Time.time && Time.time < t + waitTimePos + waitTimeScale)
        {
            transform.localScale = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t - waitTimePos) / (waitTimeScale));
            GatePart.localScale  = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t - waitTimePos) / (waitTimeScale));
            yield return(null);
        }
        transform.parent.GetComponent <GateEnemy>().KillSlave(transform);
        if (!Addressables.ReleaseInstance(GatePart.gameObject))
        {
            Destroy(GatePart.gameObject);
        }
    }