示例#1
0
        private void Map_MapCompleted(object sender, EventArgs e)
        {
            int id = map.ID, oldScore = map.Score;

            id++;
            Camera.Focus = new Actor()
            {
                Position = Vector2.Zero
            };
            map.UnloadContent();
            map.MapCompleted -= Map_MapCompleted;
            map.PlayerKilled -= Map_PlayerKilled;
            try
            {
                using (ContentManager c = new ContentManager(content.ServiceProvider, content.RootDirectory))
                    map = c.Load <ActorMap>($"Maps/{id}");
            }
            catch
            {
                if (SceneManager.Instance.CurrentScene == this)
                {
                    SceneManager.Instance.ChangeScene(new EndingScene(game, oldScore));
                }
            }
            map.LoadContent(content);
            map.Score         = oldScore;
            Camera.Focus      = map.Player;
            map.MapCompleted += Map_MapCompleted;
            map.PlayerKilled += Map_PlayerKilled;
        }