Exemple #1
0
        IEnumerator TriggerDurationCorrupt(TimedCorruptMovement data)
        {
            data.objectToMove.SetActive(false);
            yield return(new WaitForSeconds(data.delay));

            data.objectToMove.SetActive(true);
            data.isMoving = true;
            StartCoroutine(ResetCorruptDuration(data));
            while (data.isMoving)
            {
                data.objectToMove.GetComponent <Rigidbody2D>().velocity = (data.velocity * Time.fixedDeltaTime);
                foreach (Transform t in data.objectToMove.transform)
                {
                    if (t.GetComponent <Rigidbody2D>() != null)
                    {
                        t.GetComponent <Rigidbody2D>().velocity = (data.velocity * Time.fixedDeltaTime);
                    }
                }
                yield return(null);
            }
            data.objectToMove.GetComponent <Rigidbody2D>().velocity = Vector2.zero;
            foreach (Transform t in data.objectToMove.transform)
            {
                if (t.GetComponent <Rigidbody2D>() != null)
                {
                    t.GetComponent <Rigidbody2D>().velocity = Vector2.zero;
                }
            }
            for (; ;)
            {
                if (data.LerpZeroOnFinish)
                {
                    data.objectToMove.transform.localScale = Vector2.Lerp(data.objectToMove.transform.localScale, Vector2.zero, Time.fixedDeltaTime);
                }
                yield return(null);
            }
        }
Exemple #2
0
        IEnumerator ResetCorruptDuration(TimedCorruptMovement data)
        {
            yield return(new WaitForSeconds(data.duration));

            data.isMoving = false;
        }