コード例 #1
0
        private void UpdatePowerPlay()
        {
            var powerPlay = (_numConsecutiveGems >= 5);

            if (powerPlay == _isPowerPlay)
            {
                return;
            }

            if (powerPlay)
            {
                // Start power-play
                _powerPlayParticles = new CCParticleSystemQuad("Particles/power-play.plist");
                _powerPlayParticles.AutoRemoveOnFinish = (true);
                _powerPlayParticles.SourcePosition     = new CCPoint(CCDirector.SharedDirector.WinSize.Width / 2, CCDirector.SharedDirector.WinSize.Height / 2);
                _powerPlayParticles.PosVar             = new CCPoint(CCDirector.SharedDirector.WinSize.Width / 2, CCDirector.SharedDirector.WinSize.Height / 2);
                _particleLayer.AddChild(_powerPlayParticles);


                var contentSize = CCDirector.SharedDirector.WinSize;
                _powerPlayLayer = new CCLayerColor(new CCColor4B(85, 0, 70, 0), contentSize.Width, contentSize.Height);

                var action = new CCSequence(new CCFadeIn(0.25f), new CCFadeOut(0.25f));
                _powerPlayLayer.RunAction(new CCRepeatForever(action));
                _powerPlayLayer.BlendFunc = CCBlendFunc.Additive;

                _effectsLayer.AddChild(_powerPlayLayer);
            }
            else
            {
                // Stop power-play
                if (_powerPlayParticles != null)
                {
                    _powerPlayParticles.StopSystem();

                    _powerPlayLayer.StopAllActions();
                    _powerPlayLayer.RunAction(new CCSequence(new CCFadeOut(0.5f), new CCRemoveSelf(true)));
                }
            }

            _isPowerPlay = powerPlay;
        }