internal IEnumerator Strike() { _interact.isSubmitting = false; _interact.isRotating = false; _octadecayotton.PlaySound(Sounds.Oct.Strike); Debug.LogFormat("[The Octadecayotton #{0}]: Incorrect submission, strike and reset!", _octadecayotton.moduleId); _interact.ModuleRenderer.material.mainTexture = null; for (int i = 0; i < 2; i++) { _interact.ModuleRenderer.material.color = i % 2 == 0 ? Color.white : Color.black; for (int j = 0; j < _interact.Spheres.Count; j++) { _interact.Spheres[j].SphereRenderer.material.color = i % 2 == 0 ? Color.black : Color.white; } yield return(new WaitForSecondsRealtime(0.2f)); } _interact.ModuleRenderer.material.color = Color.white; _interact.ModuleRenderer.material.mainTexture = _interact.NeutralTexture; _isFinished = false; _interact.StartCoroutine(DestroyHypercube()); yield return(ExpandSpheres(0, 1 / 512f)); yield return(new WaitUntil(() => _isFinished)); _octadecayotton.Module.HandleStrike(); _interact.isActive = false; }