private void BossDeath(GameObject gameObject) { gameObject.RemoveGameObject(); var death = new GameObject("BossDeath", gameObject.Centre); var deathAnimation = new ScaleAnimationComponent(SpaceGraphics.PlanetAsset[3], 0, 10, 500, animationCompleteEvent: ObjectEvent.RemoveEntity); death.AddComponent(deathAnimation); ForegroundLayer.AddGameObject(death); }
private void PlayerDeath(GameObject gameObject) { gameObject.RemoveGameObject(); var death = new GameObject("Death", gameObject.TopLeft); var deathAnimation = new ScaleAnimationComponent(SpaceGraphics.LargeExpolosionAsset[0], 0, 50, 3000, Color.DarkRed, null, ObjectEvent.RemoveEntity); var exitLevel = new ObjectEventComponent(ObjectEvent.RemoveEntity, ExitLevelAction); death.AddComponent(deathAnimation); death.AddComponent(exitLevel); DisplayLayer.AddGameObject(death); }
private void MissileCollision(GameObject gameObject) { var explosionScale = 7; var explosionTexture = SpaceGraphics.LargeExpolosionAsset[0]; var dimension = explosionTexture.Width * explosionScale; var explosion = new GameObject("Collision", gameObject.TopLeft); var animation = new ScaleAnimationComponent(explosionTexture, 0, explosionScale, 100, Color.OrangeRed, null, ObjectEvent.RemoveEntity); var boundary = new BoundaryComponent(null, dimension, dimension, isInvulnerable: true); explosion.AddComponent(animation); explosion.AddComponent(boundary); gameObject.GameLayer.AddGameObject(explosion); gameObject.RemoveGameObject(); }