Exemplo n.º 1
0
        private void UpdateShakers()
        {
            for (int i = 0; i < camPosShakers.Count; i++)
            {
                CameraShaker camShaker = camPosShakers[i];
                camPosShake -= camShaker.LastShake;
                Vector3 thisShake = camShaker.Shake();
                if (camShaker.HasEnded)
                {
                    camPosShakers.RemoveAt(i);
                }
                else
                {
                    camPosShake += thisShake;
                }
            }
            for (int i = 0; i < camRotShakers.Count; i++)
            {
                CameraShaker camShaker = camRotShakers[i];
                camRotShake -= camShaker.LastShake;
                Vector3 thisShake = camShaker.Shake();
                if (camShaker.HasEnded)
                {
                    camRotShakers.RemoveAt(i);
                }
                else
                {
                    camRotShake += thisShake;
                }
            }

            // Just in case
            if (camPosShakers.Count == 0)
            {
                camPosShake = Vector3.zero;
            }
            if (camRotShakers.Count == 0)
            {
                camRotShake = Vector3.zero;
            }
        }