public void SetLevelPack(LevelPack pack)
 {
     this.pack = pack;
 }
        /// <summary>
        /// Constructor for the Game.
        /// </summary>
        public TetrisGameRunner()
            : base()
        {
            graphics = new GraphicsDeviceManager(this);
            IsMouseVisible = true;
            Content.RootDirectory = "Content";
            handler = new InputHandler();
            original = null;
            Myself = Process.GetCurrentProcess();
            light = new BlendState();
            light.ColorBlendFunction = BlendFunction.Add;
            light.ColorSourceBlend = Blend.DestinationColor;
            light.ColorDestinationBlend = Blend.One;
            editor = new WorldEditor();
            classic = new MainMenuButton("Play Classic");
            story = new MainMenuButton("Beta Story Mode");
            story.ModifyY(51 * 4);
            options = new MainMenuButton("Options");
            options.ModifyY(51*2);
            maker = new MainMenuButton("Make Levels");
            maker.ModifyY(51*3);
            anyLevel = new MainMenuButton("Play Any Level");
            anyLevel.ModifyY(51);
            exit = new MainMenuButton("Exit");
            exit.ModifyY(51 * 5);

            package = new LevelPack();
            package.AddLevel("Volcano");
            package.AddLevel("Chef");

            package.AddLevel("RaiseDaRoof");

            package.AddLevel("School");

            package.AddLevel("Vault");

            package.AddLevel("TheMugging");

            package.AddLevel("CabinetDiver");

            package.AddLevel("Programmer");
            package.UnlockUpTo(1);

            cache = new MainMenuButton("Cache Off");

            pieceMode = new MainMenuButton("Piece Mode A");
            pieceMode.ModifyY(51);
            back = new MainMenuButton("Back To Menu");
            back.ModifyY(51 * 2);

            Save = new MainMenuButton("Save");
            Load = new MainMenuButton("Load");
            Load.ModifyY(51);

            graphics.PreferredBackBufferHeight = VirtualHeight;
            graphics.PreferredBackBufferWidth = VirtualWidth;

            classicLink = new TajLevelLinker();
            classicLink.OnStart("ClassicTetris 0 %Score \"Score:`0\" SetText");
            classicLink.SetRowCleared("\"Score:`\" $Score 1 + string + SetText $Score 1 + %Score del");

            /*
            TajParser p = new TajParser();
            p.Parse("\"Hello`World`\" 10 string +");
            p.Parse("10 20 + 10 * %Hello");
            p.Parse("$Hello $Hello + %Corn");
            p.Parse("$Corn $Corn * $Corn + %g");
            p.Parse("\"Hello`world`I`am`a`computer.`\" %Computer");
            SaveFileSystem.SaveObjectToFile(p, "Heh.taj");
            p = SaveFileSystem.LoadObjectFromFile<TajParser>("Heh.taj", new GameLoader());

            Console.Beep();
            */
        }