public IEnumerator<float> SpawnPlayer() { // Ensure that the last player object was destroyed if it ever existed if (player != null) player.Destroy(); // Respawn the player at the set coordinates, with phasing. player = new PlayerShip(this, new Vector2(350, 550)); player.Phasing = true; float timeElapsed = 0f; while (timeElapsed < 2.1f) { player.Color = new Color(.35f, .35f, .35f, .35f); yield return .06f; player.Color = new Color(1f, 1f, 1f, 1f); yield return .06f; timeElapsed += .12f; } player.Phasing = false; }
public override void Initialize() { scriptManager = new ScriptManager(); gameObjects = new List<GameObject>(); animations = new List<Animation>(); ExtendValues = new List<int>() { 10000, 25000, 50000, 100000, 200000, 400000, 800000, 1600000, 3200000, 6400000, 12800000, 25600000, }; if (AsteroidRebuttal.HardcoreMode) { ExtendValues.Clear(); Lives = 0; } // Set the game area to 700 x 650. ScreenArea = new Rectangle(0, 0, 700, 650); fader = new Fader(this); // Set the UI window to 150 x 650, beginning after the ScreenArea. GUIArea = new Rectangle(700, 0, 225, 650); quadtree = new QuadTree(0, ScreenArea); collisionDetection = new CollisionDetection(this); levelManager = new LevelManager(this); // Test levelManager.SetLevel(1); //new FinalBoss(this, new Vector2(350, -300)); player = new PlayerShip(this, new Vector2(350, 550)); }