//positions is an 4-size Point vector containing the (x,y) positions of the 4 level buttons
        public TimeGateUpgradeCategory(Game game, int DrawOrder, Point[] positions)
            : base(game)
        {
            graphicsCollection = (GraphicsCollection)Game.Services.GetService(typeof(GraphicsCollection));

            //-----Level Buttons-------
            btnLevel1          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level1")), DrawOrder);
            btnLevel1.Position = positions[0];
            btnLevel1.Name     = "Level1";
            btnLevel1.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel1.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel1);
            levels.Add(btnLevel1);

            btnLevel2          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level2")), DrawOrder);
            btnLevel2.Position = positions[1];
            btnLevel2.Name     = "Level2";
            btnLevel2.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel2.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel2);
            levels.Add(btnLevel2);

            btnLevel3          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level3")), DrawOrder);
            btnLevel3.Position = positions[2];
            btnLevel3.Name     = "Level3";
            btnLevel3.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel3.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel3);
            levels.Add(btnLevel3);

            btnLevel4          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level4")), DrawOrder);
            btnLevel4.Position = positions[3];
            btnLevel4.Name     = "Level4";
            btnLevel4.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel4.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel4);
            levels.Add(btnLevel4);
            //-----------------------

            this.StackOrder = DrawOrder;
        }
        //positions is an 4-size Point vector containing the (x,y) positions of the 4 level buttons
        public TimeGateUpgradeCategory(Game game, int DrawOrder,Point[] positions)
            : base(game)
        {
            graphicsCollection = (GraphicsCollection)Game.Services.GetService(typeof(GraphicsCollection));

            //-----Level Buttons-------
            btnLevel1 = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level1")), DrawOrder);
            btnLevel1.Position = positions[0];
            btnLevel1.Name = "Level1";
            btnLevel1.Status = TimeGateUpgradeStatus.Locked; 
            btnLevel1.OnPress += new EventHandler<ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel1);
            levels.Add(btnLevel1);

            btnLevel2 = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level2")), DrawOrder);
            btnLevel2.Position = positions[1];
            btnLevel2.Name = "Level2";
            btnLevel2.Status = TimeGateUpgradeStatus.Locked; 
            btnLevel2.OnPress += new EventHandler<ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel2);
            levels.Add(btnLevel2);

            btnLevel3 = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level3")), DrawOrder);
            btnLevel3.Position = positions[2];
            btnLevel3.Name = "Level3";
            btnLevel3.Status = TimeGateUpgradeStatus.Locked; 
            btnLevel3.OnPress += new EventHandler<ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel3);
            levels.Add(btnLevel3);

            btnLevel4 = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level4")), DrawOrder);
            btnLevel4.Position = positions[3];
            btnLevel4.Name = "Level4";
            btnLevel4.Status = TimeGateUpgradeStatus.Locked; 
            btnLevel4.OnPress += new EventHandler<ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel4);
            levels.Add(btnLevel4);
            //-----------------------

            this.StackOrder = DrawOrder;
        }