IEnumerator Pinning(float interval, int count) { while (true) { yield return(new WaitForSeconds(interval)); if (!enabled || !_mousePressed) { continue; } _mcmc.Reset(); foreach (var uv in _mcmc.Sequence(100, count)) { Vector3 posLocal; Vector3 normalLocal; if (uvWorld.World(uv, out posLocal, out normalLocal)) { posLocal += (Vector3)(perturbation * Random.insideUnitCircle); var pos = uvWorld.transform.TransformPoint(posLocal) + shuriken.startSize * Vector3.up; shuriken.Emit(pos, Vector3.zero, shuriken.startSize, shuriken.startLifetime, shuriken.startColor); } } } }