public void AddToScene(MultiplayerLayeredCharacterScene scene) { if (scene == null) { throw new ArgumentNullException("scene"); } scene.AddNode(this, WorldLayer.Character); scene.AddNode(ShadowBlob, WorldLayer.BelowCharacter); }
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(); }
public void AddToScene(MultiplayerLayeredCharacterScene scene) { if (scene == null) throw new ArgumentNullException ("scene"); scene.AddNode (this, WorldLayer.Character); scene.AddNode (ShadowBlob, WorldLayer.BelowCharacter); }