コード例 #1
0
ファイル: Animate.cs プロジェクト: VFlyer/EmikModules
        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;
        }