public void AddToScene(MultiplayerLayeredCharacterScene scene)
        {
            if (scene == null)
            {
                throw new ArgumentNullException("scene");
            }

            scene.AddNode(this, WorldLayer.Character);
            scene.AddNode(ShadowBlob, WorldLayer.BelowCharacter);
        }
Пример #2
0
        public override void PerformDeath()
        {
            base.PerformDeath();

            var splort = (SKNode)DeathSplort.Copy();

            splort.ZPosition = -1;
            splort.ZRotation = VirtualZRotation;
            splort.Position  = Position;
            splort.Alpha     = 0.1f;
            splort.RunAction(SKAction.FadeAlphaTo(1, 0.5));

            MultiplayerLayeredCharacterScene scene = CharacterScene;

            scene.AddNode(splort, WorldLayer.BelowCharacter);

            RunAction(SKAction.Sequence(new [] {
                SKAction.FadeAlphaTo(0, 0.5f),
                SKAction.RemoveFromParent()
            }));

            smokeEmitter.RunAction(SKAction.Sequence(new [] {
                SKAction.WaitForDuration(2),
                SKAction.Run(() => {
                    smokeEmitter.ParticleBirthRate = 2;
                }),

                SKAction.WaitForDuration(2),
                SKAction.Run(() => {
                    smokeEmitter.ParticleBirthRate = 0;
                }),

                SKAction.WaitForDuration(10),
                SKAction.FadeAlphaTo(0, 0.5),
                SKAction.RemoveFromParent()
            }));

            inactiveGoblins.Clear();
        }
Пример #3
0
        public void AddToScene(MultiplayerLayeredCharacterScene scene)
        {
            if (scene == null)
                throw new ArgumentNullException ("scene");

            scene.AddNode (this, WorldLayer.Character);
            scene.AddNode (ShadowBlob, WorldLayer.BelowCharacter);
        }