コード例 #1
0
ファイル: theBridge.cs プロジェクト: jacobnelson/WorldsApart
        public theBridge(GSPlay gsPlay)
            : base(gsPlay)
        {
            levelDataTexture = gsPlay.LoadTexture("Levels/bridge");

            //player1Pos = GridToPosition(79, 44);
            player2Pos = GridToPosition(6, 44);
            player1Pos = GridToPosition(131, 44);

            hasPortal = false;

            //portalPos = GridToPosition(681, 20);
            //pItemPos = GridToPosition(672

            SetupLevel();

            rightLimit = levelWidth;

            Vector2 bgPosition = new Vector2(-400, -400);
            SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropBaseBoth"), bgPosition);
            bg1.scale = new Vector2(1.5f);
            gsPlay.AddParallax(bg1, .1f);
            bgPosition = new Vector2(-600, -380);
            SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropOverlayBoth"), bgPosition);
            bg2.scale = new Vector2(2);
            gsPlay.AddParallax(bg2, .2f);

            for (int x = 1; x <= 5; x++)
            {
                for (int y = 1; y <= 2; y++)
                {
                    if (x == 5 && y == 1) continue;

                    SpriteIMG matte = new SpriteIMG(gsPlay.LoadTexture("BGs/bridgeMatte" + x + "x" + y), new Vector2(1024 * (x - 1) - 1078, 1024 * (y - 1) - 100));
                    gsPlay.AddParallax(matte, .5f);

                }
            }

            for (int x = 1; x <= 5; x++)
            {
                for (int y = 1; y <= 3; y++)
                {
                    string fgName = "LevelTiles/Bridge/bridgeFG" + x + "x" + y;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                    }

                    string bgName = "LevelTiles/Bridge/bridgeBG" + x + "x" + y;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                    }

                }
            }

            Vector2 bridgePos = new Vector2(2160, 613.5f);

            bridge = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeFull"), bridgePos);

            cracksCool1 = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeCracksCool1"), bridgePos);
            cracksCool2 = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeCracksCool2"), bridgePos);
            cracksCool3 = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeCracksCool3"), bridgePos);
            cracksCool1.visible = false;
            cracksCool2.visible = false;
            cracksCool3.visible = false;

            cracksWarm1 = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeCracksWarm1"), bridgePos);
            cracksWarm2 = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeCracksWarm2"), bridgePos);
            cracksWarm3 = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeCracksWarm3"), bridgePos);
            cracksWarm1.visible = false;
            cracksWarm2.visible = false;
            cracksWarm3.visible = false;

            barrier = gsPlay.AddTriggerArea(new EventTrigger(this, 1), gsPlay.LoadTexture("bridgeBarrier"), GridToPosition(67, 7) + new Vector2(16, 16));
            barrier.visible = false;
            breaker = gsPlay.AddTriggerArea(new EventTrigger(this, 2), gsPlay.LoadTexture("bridgeBreakTrigger"), GridToPosition(67, 14) + new Vector2(16, 0));
            breaker.visible = false;
            gsPlay.AddTriggerArea(new EventTrigger(this, 0), gsPlay.LoadTexture("bridgeBreakTrigger"), GridToPosition(67, 50) + new Vector2(16, 0)).visible = false;

            AudioManager.PlayMusic("Bridge");
        }
コード例 #2
0
        public FinalBridge(GSPlay gsPlay)
            : base(gsPlay)
        {
            levelDataTexture = gsPlay.LoadTexture("Levels/bridge");

            //player1Pos = GridToPosition(79, 44);
            player2Pos = GridToPosition(6, 44);
            player1Pos = GridToPosition(131, 44);

            hasPortal = false;

            //portalPos = GridToPosition(681, 20);
            //pItemPos = GridToPosition(672

            SetupLevel();

            rightLimit = levelWidth;

            Vector2 bgPosition = new Vector2(-400, -400);
            SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropBaseBoth"), bgPosition);
            bg1.scale = new Vector2(1.5f);
            gsPlay.AddParallax(bg1, .1f);
            bgPosition = new Vector2(-600, -380);
            SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropOverlayBoth"), bgPosition);
            bg2.scale = new Vector2(2);
            gsPlay.AddParallax(bg2, .2f);

            for (int x = 1; x <= 5; x++)
            {
                for (int y = 1; y <= 2; y++)
                {
                    if (x == 5 && y == 1) continue;

                    SpriteIMG matte = new SpriteIMG(gsPlay.LoadTexture("BGs/bridgeMatte" + x + "x" + y), new Vector2(1024 * (x - 1) - 1078, 1024 * (y - 1) - 100));
                    gsPlay.AddParallax(matte, .5f);

                }
            }

            for (int x = 1; x <= 5; x++)
            {
                for (int y = 1; y <= 3; y++)
                {
                    string fgName = "LevelTiles/Bridge/bridgeFG" + x + "x" + y;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                    }

                    string bgName = "LevelTiles/Bridge/bridgeBG" + x + "x" + y;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                    }

                }
            }

            for (int x = 1; x <= 5; x++)
            {
                SpriteIMG cloud = gsPlay.AddFrontFGTile(gsPlay.LoadTexture("LevelTiles/Bridge/clouds" + x + "x1"), new Vector2(1024 * (x - 1), 0));
                cloud.illuminatingAllTheTime = true;
                cloud.origin = Vector2.Zero;
            }

            Vector2 bridgePos = new Vector2(2160, 613.5f);
            gsPlay.AddFrontFGTile(gsPlay.LoadTexture("GameObjects/bridgeFull"), bridgePos);

            atmosphereLight = new Color(100, 100, 100);

            PointLight sun1 = gsPlay.AddPointLight(Art.whitePixel, GridToPosition(0, 0) + new Vector2(0, -200), new Vector2(2048, 1850));
            PointLight sun2 = gsPlay.AddPointLight(Art.whitePixel, GridToPosition(32, 0) + new Vector2(0, -200), new Vector2(2048, 1850));
            PointLight sun3 = gsPlay.AddPointLight(Art.whitePixel, GridToPosition(64, 0) + new Vector2(0, -200), new Vector2(2048, 1850));
            PointLight sun4 = gsPlay.AddPointLight(Art.whitePixel, GridToPosition(96, 0) + new Vector2(0, -200), new Vector2(2048, 1850));
            PointLight sun5 = gsPlay.AddPointLight(Art.whitePixel, GridToPosition(128, 0) + new Vector2(0, -200), new Vector2(2048, 1850));
            sun1.screenCull = false;
            sun2.screenCull = false;
            sun3.screenCull = false;
            sun4.screenCull = false;
            sun5.screenCull = false;

            finalField = gsPlay.AddBackFGTile(gsPlay.LoadTexture("Cutscene/finalField"), new Vector2(2175, 451));
            finalField.visible = false;

            Vector2 introPos = GridToPosition(41, 25) + new Vector2(0, 20);
            player1Ending = new AnimatedSprite(gsPlay.LoadTexture("Cutscene/cutscenePlayers"), introPos);
            player2Ending = new AnimatedSprite(gsPlay.LoadTexture("Cutscene/cutscenePlayers"), introPos);
            player1Ending.SetAnimationStuff(1, 1, 6, 8, 256, 256, 4, 12);
            player2Ending.SetAnimationStuff(1, 5, 6, 8, 256, 256, 4, 12);
            player1Ending.SetPlayerMode(PlayerObjectMode.One);
            player2Ending.SetPlayerMode(PlayerObjectMode.Two);
            gsPlay.frontFGList.Add(player1Ending);
            gsPlay.frontFGList.Add(player2Ending);
            player1Ending.visible = false;
            player2Ending.visible = false;

            player1FadeFrame = new AnimatedSprite(gsPlay.LoadTexture("player1Ideal"), Vector2.Zero);
            player2FadeFrame = new AnimatedSprite(gsPlay.LoadTexture("player2Ideal"), Vector2.Zero);
            player1FadeFrame.SetAnimationStuff(1, 1, 1, 6, 256, 256, 6, 8);
            player2FadeFrame.SetAnimationStuff(1, 1, 1, 6, 256, 256, 6, 8);
            player1FadeFrame.SetPlayerMode(PlayerObjectMode.Two);
            player2FadeFrame.SetPlayerMode(PlayerObjectMode.One);
            gsPlay.frontFGList.Add(player1FadeFrame);
            gsPlay.frontFGList.Add(player2FadeFrame);
            player1FadeFrame.visible = false;
            player2FadeFrame.visible = false;

            TriggerArea update = gsPlay.AddTriggerArea(new EventTrigger(this, 99), Art.smoke, Vector2.Zero);
            update.visible = false;
            gsPlay.AddTriggerArea(new EventTrigger(this, 0), gsPlay.LoadTexture("bridgeBreakTrigger"), GridToPosition(67, 50) + new Vector2(16, 0)).visible = false;

            AudioManager.PlayMusic("Bridge");
        }
コード例 #3
0
ファイル: Level3.cs プロジェクト: jacobnelson/WorldsApart
        public Level3(GSPlay gsPlay)
            : base(gsPlay)
        {
            levelDataTexture = gsPlay.LoadTexture("Levels/level3Data");

            player1Pos = GridToPosition(23, 150);
            player2Pos = GridToPosition(20, 150);

            //player1Pos = GridToPosition(147, 100);
            //player2Pos = player1Pos;

            portalPos = GridToPosition(492, 32);
            pItemPos = GridToPosition(152, 90) + new Vector2(-16, 0);

            renderCollision = false;

            SetupLevel();

            for (int x = 1; x <= 17; x++)
            {
                for (int y = 1; y <= 6; y++)
                {
                    string fgName = "LevelTiles/Mountain/mountainCoolFG" + y + "x" + x;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                        fg.SetPlayerMode(PlayerObjectMode.Two);

                    }

                    string bgName = "LevelTiles/Mountain/mountainCoolBG" + y + "x" + x;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                        bg.SetPlayerMode(PlayerObjectMode.Two);
                    }

                }
            }

            for (int x = 1; x <= 17; x++)
            {
                for (int y = 1; y <= 6; y++)
                {
                    string fgName = "LevelTiles/Mountain/mountainWarmFG" + y + "x" + x;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                        fg.SetPlayerMode(PlayerObjectMode.One);

                    }

                    string bgName = "LevelTiles/Mountain/mountainWarmBG" + y + "x" + x;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                        bg.SetPlayerMode(PlayerObjectMode.One);
                    }

                }
            }

            rightLimit = levelWidth - 32;

            Vector2 bgPosition = new Vector2(-400, -400);
            for (int x = 0; x < 3; x++)
            {
                for (int y = 0; y < 2; y++)
                {
                    SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropBase1"), bgPosition);
                    bg1.SetPlayerMode(PlayerObjectMode.One);
                    gsPlay.AddParallax(bg1, .1f);
                    SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropBase2"), bgPosition);
                    bg2.SetPlayerMode(PlayerObjectMode.Two);
                    gsPlay.AddParallax(bg2, .1f);

                    bgPosition.Y += 1024;
                }
                bgPosition.Y = -400;
                bgPosition.X += 1024;
            }

            bgPosition = new Vector2(-300, -300);
            for (int x = 0; x < 4; x++)
            {
                for (int y = 0; y < 2; y++)
                {
                    SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropOverlay1"), bgPosition);
                    bg1.SetPlayerMode(PlayerObjectMode.One);
                    gsPlay.AddParallax(bg1, .2f);
                    SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainBackdropOverlay2"), bgPosition);
                    bg2.SetPlayerMode(PlayerObjectMode.Two);
                    gsPlay.AddParallax(bg2, .2f);

                    bgPosition.Y += 1024;
                }

                bgPosition.Y = -300;
                bgPosition.X += 1024;
            }

            bgPosition = new Vector2(-300, -300);
            for (int x = 0; x < 9; x++)
            {
                for (int y = 0; y < 3; y++)
                {
                    SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainMatte1"), bgPosition);
                    bg1.SetPlayerMode(PlayerObjectMode.One);
                    gsPlay.AddParallax(bg1, .5f);
                    SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/mountainMatte2"), bgPosition);
                    bg2.SetPlayerMode(PlayerObjectMode.Two);
                    gsPlay.AddParallax(bg2, .5f);

                    bgPosition.Y += 1024;
                }

                bgPosition.Y = -300;
                bgPosition.X += 1024;
            }

            gsPlay.AddBGWarmGear(gsPlay.LoadTexture("GameObjects/gearWarm2"), GridToCenterPosition(149, 72), .75f, -.02f, 1);
            gsPlay.AddBGCoolGear(gsPlay.LoadTexture("GameObjects/gearCool2"), GridToCenterPosition(149, 72), .75f, -.02f, 1);
            gsPlay.AddBGWarmGear(gsPlay.LoadTexture("GameObjects/gearWarm1"), GridToCenterPosition(153, 77), 1f, .015f, 1);
            gsPlay.AddBGCoolGear(gsPlay.LoadTexture("GameObjects/gearCool1"), GridToCenterPosition(153, 77), 1f, .015f, 1);
            gsPlay.AddBGWarmGear(gsPlay.LoadTexture("GameObjects/gearWarm3"), GridToCenterPosition(149, 82), 1.25f, -.01f, 1);
            gsPlay.AddBGCoolGear(gsPlay.LoadTexture("GameObjects/gearCool3"), GridToCenterPosition(149, 82), 1.25f, -.01f, 1);

            //part1
            Door d1 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(137, 101)) + new Vector2(-16, 0), OpenState.Closed);
            FlipSwitch s1 = gsPlay.AddOnSwitch(new EventTrigger(this, d1), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(144, 111)));
            s1.SetPlayerMode(PlayerObjectMode.Two);
            Door bd1 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(137, 101)) + new Vector2(-16, 0), OpenState.Closed);
            bd1.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc1 = gsPlay.AddLightning(s1.position, s1.position + new Vector2(0, -240), Color.LightBlue);
            lc1.AddVertex(d1.position + new Vector2(0, 80));
            lc1.AddVertex(d1.position + new Vector2(0, 64));
            s1.AddEvent(new EventTrigger(this, lc1));
            lc1.defaultActive = true;
            lc1.SetActive(true);

            Door d2 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(157, 107)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch s2 = gsPlay.AddOnSwitch(new EventTrigger(this, d2), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(148, 101)));
            s2.SetPlayerMode(PlayerObjectMode.One);
            Door bd2 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(157, 107)) + new Vector2(-16, -16), OpenState.Closed);
            bd2.SetPlayerMode(PlayerObjectMode.One);
            LightningChain lc2 = gsPlay.AddLightning(s2.position, s2.position + new Vector2(0, 80), Color.Red);
            lc2.AddVertex(s2.position + new Vector2(96, 80));
            lc2.AddVertex(d2.position + new Vector2(-80, 0));
            lc2.AddVertex(d2.position + new Vector2(-48, 0));
            s2.AddEvent(new EventTrigger(this, lc2));
            lc2.defaultActive = true;
            lc2.SetActive(true);

            //part2
            Door d3 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(249, 87)), OpenState.Closed);
            FlipSwitch s3 = gsPlay.AddSwitch(new EventTrigger(this, d3), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(247, 88)) + new Vector2(-16, 0));
            s3.SetPlayerMode(PlayerObjectMode.Two);
            Door bd3 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(249, 87)), OpenState.Closed);
            bd3.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc3 = gsPlay.AddLightning(s3.position, d3.position, Color.Orange);
            s3.AddEvent(new EventTrigger(this, lc3));

            Door d4 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(247, 85)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch s4 = gsPlay.AddSwitch(new EventTrigger(this, d4), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(252, 88)) + new Vector2(-16, 0));
            s2.SetPlayerMode(PlayerObjectMode.One);
            Door bd4 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(247, 85)) + new Vector2(-16, -16), OpenState.Closed);
            bd4.SetPlayerMode(PlayerObjectMode.One);
            lc3.AddVertex(s4.position);
            LightningChain lc4 = gsPlay.AddLightning(s4.position, d4.position, Color.Orange);
            s4.AddEvent(new EventTrigger(this, lc4));

            Door d5 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(252, 85)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch s5 = gsPlay.AddSwitch(new EventTrigger(this, d5), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(247, 82)) + new Vector2(-16, 0));
            lc4.AddVertex(s5.position);
            LightningChain lc5 = gsPlay.AddLightning(s5.position, d5.position, Color.Orange);
            s5.AddEvent(new EventTrigger(this, lc5));

            Door d6 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(247, 80)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch s6 = gsPlay.AddSwitch(new EventTrigger(this, d6), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(252, 78)) + new Vector2(-16, 0));
            lc5.AddVertex(s6.position);
            LightningChain lc6 = gsPlay.AddLightning(s6.position, d6.position, Color.Orange);
            s6.AddEvent(new EventTrigger(this, lc6));

            Door d7 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(252, 76)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch s7 = gsPlay.AddSwitch(new EventTrigger(this, d7), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(247, 74)) + new Vector2(-16, 0));
            lc6.AddVertex(s7.position);
            LightningChain lc7 = gsPlay.AddLightning(s7.position, d7.position, Color.Orange);
            s7.AddEvent(new EventTrigger(this, lc7));

            Door d8 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(247, 72)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch s8 = gsPlay.AddSwitch(new EventTrigger(this, d8), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(252, 70)) + new Vector2(-16, 0));
            lc7.AddVertex(s8.position);
            LightningChain lc8 = gsPlay.AddLightning(s8.position, d8.position, Color.Orange);
            s8.AddEvent(new EventTrigger(this, lc8));

            Door d9 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(252, 68)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch s9 = gsPlay.AddSwitch(new EventTrigger(this, d9), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(247, 64)) + new Vector2(-16, 0));
            lc8.AddVertex(s9.position);
            LightningChain lc9 = gsPlay.AddLightning(s9.position, d9.position, Color.Orange);
            s9.AddEvent(new EventTrigger(this, lc9));

            //part3

            Door d10 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(327, 68)) + new Vector2(-16, 0), OpenState.Closed);
            FlipSwitch s10 = gsPlay.AddSwitch(new EventTrigger(this, d10), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(330, 61)));
            d10.SetPlayerMode(PlayerObjectMode.One);
            s10.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc10 = gsPlay.AddLightning(s10.position, d10.position, Color.Orange);
            s10.AddEvent(new EventTrigger(this, lc10));

            Door d11 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(334, 62)) + new Vector2(-16, 0), OpenState.Closed);
            FlipSwitch s11 = gsPlay.AddSwitch(new EventTrigger(this, d11), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(337, 68)));
            d11.SetPlayerMode(PlayerObjectMode.Two);
            s11.SetPlayerMode(PlayerObjectMode.One);
            lc10.AddVertex(s11.position);
            LightningChain lc11 = gsPlay.AddLightning(s11.position, d11.position, Color.Orange);
            s11.AddEvent(new EventTrigger(this, lc11));

            Door d12 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(341, 68)) + new Vector2(-16, 0), OpenState.Closed);
            FlipSwitch s12 = gsPlay.AddSwitch(new EventTrigger(this, d12), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(344, 61)));
            d12.SetPlayerMode(PlayerObjectMode.One);
            s12.SetPlayerMode(PlayerObjectMode.Two);
            lc11.AddVertex(s12.position);
            LightningChain lc12 = gsPlay.AddLightning(s12.position, d12.position, Color.Orange);
            s12.AddEvent(new EventTrigger(this, lc12));

            Door d13 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(348, 62)) + new Vector2(-16, 0), OpenState.Closed);
            FlipSwitch s13 = gsPlay.AddSwitch(new EventTrigger(this, d13), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(351, 68)));
            d13.SetPlayerMode(PlayerObjectMode.Two);
            s13.SetPlayerMode(PlayerObjectMode.One);
            lc12.AddVertex(s13.position);
            LightningChain lc13 = gsPlay.AddLightning(s13.position, d13.position, Color.Orange);
            s13.AddEvent(new EventTrigger(this, lc13));

            //part4
            MovingPlatform mp1 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(399, 25)) + new Vector2(0, -16), Level.GridToPosition(new Point(407, 25)) + new Vector2(0, -16));
            mp1.SetPlayerMode(PlayerObjectMode.One);
            FlipSwitch ms1 = gsPlay.AddSwitch(new EventTrigger(this, mp1), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(403, 29)));
            ms1.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc114 = gsPlay.AddLightning(ms1.position, mp1.position, Color.LightBlue);
            lc114.ConvertEndPointToTarget(mp1);
            ms1.AddEvent(new EventTrigger(this, lc114));

            Door d14 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(393, 9)) + new Vector2(-16, 0), OpenState.Closed);
            FlipSwitch s14 = gsPlay.AddSwitch(new EventTrigger(this, d14), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(398, 21)));
            LightningChain lc14 = gsPlay.AddLightning(s14.position, GridToPosition(393, 21), Color.Red);
            lc14.AddVertex(d14.position);
            s14.AddEvent(new EventTrigger(this, lc14));

            Door d15 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(366, 33)) + new Vector2(0, -16), OpenState.Closed);
            Button s15 = gsPlay.AddButton(new EventTrigger(this, d15), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(370, 32)));
            LightningChain lc15 = gsPlay.AddLightning(s15.position, GridToPosition(370, 33) + new Vector2(0, -16), Color.Orange);
            lc15.AddVertex(GridToPosition(367, 33) + new Vector2(0, -16));
            s15.AddEvent(new EventTrigger(this, lc15));
            lc15.defaultActive = true;
            lc15.SetActive(true);

            Door d16 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(444, 69)) + new Vector2(0, -16), OpenState.Closed);
            FlipSwitch s16 = gsPlay.AddSwitch(new EventTrigger(this, d16), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(440, 71)));
            s16.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc16 = gsPlay.AddLightning(s16.position, GridToPosition(440, 69) + new Vector2(0, -16), Color.Orange);
            lc16.AddVertex(GridToPosition(443, 69) + new Vector2(0, -16));
            s16.AddEvent(new EventTrigger(this, lc16));
            lc16.defaultActive = true;
            lc16.SetActive(true);

            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(426, 68))).selfIlluminating = true;
            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(429, 46)), .8f);
            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(388, 10)), .8f);
            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(366, 31)), .8f);
            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(443, 71 )), .8f);

            //secret
            Door mp2 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(152, 69)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch ms2 = gsPlay.AddSwitch(new EventTrigger(this, mp2), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(152, 67)) + new Vector2(-16, 0));
            ms2.pressureCooker = true;
            ms2.SetPlayerMode(PlayerObjectMode.One);
            LightningChain lc17 = gsPlay.AddLightning(ms2.position, mp2.position + new Vector2(64, 0), Color.LightBlue);
            ms2.AddEvent(new EventTrigger(this, lc17));

            Door mp3 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(152, 69)) + new Vector2(-16, -16), OpenState.Closed);
            FlipSwitch ms3 = gsPlay.AddSwitch(new EventTrigger(this, mp3), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(152, 67)) + new Vector2(-16, 0));
            ms3.pressureCooker = true;
            ms3.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc18 = gsPlay.AddLightning(ms3.position, mp3.position + new Vector2(-64, 0), Color.Red);
            ms3.AddEvent(new EventTrigger(this, lc18));

            Door bd5 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(150, 66)) + new Vector2(-16, 0), OpenState.Closed);
            bd5.SetPlayerMode(PlayerObjectMode.One);
            Door bd6 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(154, 66)) + new Vector2(-16, 0), OpenState.Closed);
            bd6.SetPlayerMode(PlayerObjectMode.Two);

            AudioManager.PlayMusic("Mountain");
        }
コード例 #4
0
ファイル: Level1.cs プロジェクト: jacobnelson/WorldsApart
        public Level1(GSPlay gsPlay)
            : base(gsPlay)
        {
            levelDataTexture = gsPlay.LoadTexture("Levels/level1Data");

            player1Pos = GridToPosition(42, 25);
            player2Pos = GridToPosition(40, 25);

            //player1Pos = GridToPosition(673, 20);
            //player2Pos = player1Pos;

            portalPos = GridToPosition(681, 20);
            pItemPos = GridToPosition(672, 11);

            SetupLevel();

            leftLimit = 32;
            rightLimit = levelWidth - 32;

            gsPlay.cameraPlayer1.Update();
            gsPlay.cameraPlayer2.Update();

            gsPlay.cameraPlayer1.SnapToTarget();
            gsPlay.cameraPlayer2.SnapToTarget();

            //Deactivate players for intro scene:
            StartIntro();

            Vector2 bgPosition = new Vector2(-500, -500);
            for (int x = 0; x < 34; x++)
            {
                SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/fieldBackdropBase1"), bgPosition);
                bg1.SetPlayerMode(PlayerObjectMode.One);
                gsPlay.AddParallax(bg1, .1f);
                SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/fieldBackdropBase2"), bgPosition);
                bg2.SetPlayerMode(PlayerObjectMode.Two);
                gsPlay.AddParallax(bg2, .1f);

                bgPosition.X += 1024;
            }

            bgPosition = new Vector2(-800, -500);
            for (int x = 0; x < 6; x++)
            {
                SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/fieldBackdropOverlay1"), bgPosition);
                bg1.SetPlayerMode(PlayerObjectMode.One);
                gsPlay.AddParallax(bg1, .2f);
                SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/fieldBackdropOverlay2"), bgPosition);
                bg2.SetPlayerMode(PlayerObjectMode.Two);
                gsPlay.AddParallax(bg2, .2f);

                bgPosition.X += 1024;
            }

            bgPosition = new Vector2(-300, -300);
            for (int x = 0; x < 11; x++)
            {
                SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/fieldMatte1"), bgPosition);
                bg1.SetPlayerMode(PlayerObjectMode.One);
                gsPlay.AddParallax(bg1, .5f);
                SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/fieldMatte2"), bgPosition);
                bg2.SetPlayerMode(PlayerObjectMode.Two);
                gsPlay.AddParallax(bg2, .5f);

                bgPosition.X += 1024;
            }

            //672, 13
            gsPlay.AddBGWarmGear(gsPlay.LoadTexture("GameObjects/gearWarm3"), GridToCenterPosition(672, 13), .75f, .02f, 1);
            gsPlay.AddBGCoolGear(gsPlay.LoadTexture("GameObjects/gearCool3"), GridToCenterPosition(672, 13), .75f, .02f, 1);

            for (int x = 1; x <= 22; x++)
            {
                for (int y = 1; y <= 1; y++)
                {
                    string fgName = "LevelTiles/Field/fieldCoolFG" + x + "x" + y;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                        fg.SetPlayerMode(PlayerObjectMode.Two);
                    }

                    string bgName = "LevelTiles/Field/fieldCoolBG" + x + "x" + y;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                        bg.SetPlayerMode(PlayerObjectMode.Two);
                    }

                }
            }

            for (int x = 1; x <= 22; x++)
            {
                for (int y = 1; y <= 1; y++)
                {
                    string fgName = "LevelTiles/Field/fieldWarmFG" + x + "x" + y;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                        fg.SetPlayerMode(PlayerObjectMode.One);

                    }

                    string bgName = "LevelTiles/Field/fieldWarmBG" + x + "x" + y;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                        bg.SetPlayerMode(PlayerObjectMode.One);
                    }

                }
            }

            TriggerArea update = gsPlay.AddTriggerArea(new EventTrigger(this, 99), Art.barrier, Vector2.Zero);

            atmosphereLight = new Color(255, 255, 255);

            doubleButtonDoor = gsPlay.AddOpeningDoor(Art.door, Level.GridToPosition(new Point(214, 23)), Level.GridToPosition(new Point(214, 27)), OpenState.Closed);  //first door puzzle
            Button b1 = gsPlay.AddButton(new EventTrigger(this, 1), 1, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(206, 29)));                                            //first door puzzle
            Button b2 = gsPlay.AddButton(new EventTrigger(this, 2), 1, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(222, 29)));                                            //first door puzzle
            LightningChain lc1 = gsPlay.AddLightning(b1.position, doubleButtonDoor.position, Color.Green);
            lc1.ConvertEndPointToTarget(doubleButtonDoor);
            b1.AddEvent(new EventTrigger(this, lc1));
            LightningChain lc2 = gsPlay.AddLightning(b2.position, doubleButtonDoor.position, Color.Green);
            lc2.ConvertEndPointToTarget(doubleButtonDoor);
            b2.AddEvent(new EventTrigger(this, lc2));
            //lc3.AddVertex(GridToPosition(103, 46) + new Vector2(0, 16));
            //gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), Level.GridToPosition(new Point(222, 16)));

            Door d2 = gsPlay.AddOpeningDoor(Art.door, Level.GridToPosition(new Point(305, 23)), Level.GridToPosition(new Point(305, 27)), OpenState.Closed);  //jump from box, ball on button
            Button b3 = gsPlay.AddButton(new EventTrigger(this, d2), 1, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(297, 29)));                                            //jump from box, ball on button
            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(257, 16)), .8f);                                                                  //jump from box, ball on button
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), Level.GridToPosition(new Point(280, 16)));                                                                  //jump from box, ball on button
            LightningChain lc3 = gsPlay.AddLightning(b3.position, d2.position, Color.Green);
            lc3.ConvertEndPointToTarget(d2);
            b3.AddEvent(new EventTrigger(this, lc3));

            Door d3 = gsPlay.AddOpeningDoor(Art.door, Level.GridToPosition(new Point(329, 23)), Level.GridToPosition(new Point(329, 27)), OpenState.Closed);  //throw ball onto button
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), Level.GridToPosition(new Point(312, 16)));                                                                  //throw ball onto button
            Button b4 = gsPlay.AddButton(new EventTrigger(this, d3), 1, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(326, 22)));                                            //throw ball onto button
            LightningChain lc4 = gsPlay.AddLightning(b4.position, d3.position, Color.Green);
            lc4.ConvertEndPointToTarget(d3);
            b4.AddEvent(new EventTrigger(this, lc4));

            Door d4 = gsPlay.AddOpeningDoor(Art.door, Level.GridToPosition(new Point(373, 23)), Level.GridToPosition(new Point(373, 27)), OpenState.Closed);  //box drop
            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(339, 16)), .8f);                                                                  //box drop
            gsPlay.AddBouncyBall(.8f, gsPlay.LoadTexture("TestSprites/pickUp"), Level.GridToPosition(new Point(358, 16)));                                                                   //box drop
            Button b5 = gsPlay.AddButton(new EventTrigger(this, d4), 2, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(365, 29)));                                            //box drop
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), Level.GridToPosition(new Point(370, 16)));                                                                  //box drop
            gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(351, 21)), Level.GridToPosition(new Point(346, 21)));                             //box drop
            LightningChain lc5 = gsPlay.AddLightning(b5.position, d4.position, Color.Green);
            lc5.ConvertEndPointToTarget(d4);
            b5.AddEvent(new EventTrigger(this, lc5));

            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(378, 16)), .8f);                                                                  //box accross moving
            gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(398, 25)), Level.GridToPosition(new Point(406, 25)));                             //box accross moving
            gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(386, 25)), Level.GridToPosition(new Point(386, 30)));                             //box accross moving

            Door d5 = gsPlay.AddFadingDoor(Art.door, Level.GridToPosition(new Point(561, 24)), OpenState.Closed);                                             //barn door
            FlipSwitch s1 = gsPlay.AddOnSwitch(new EventTrigger(this, d5), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(556, 25)));                                               //barn door
            LightningChain lc6 = gsPlay.AddLightning(s1.position, GridToPosition(556, 26) + new Vector2(0, 16), Color.Green);
            lc6.AddVertex(GridToPosition(561, 26) + new Vector2(0, 16));
            lc6.AddVertex(GridToPosition(561, 26) + new Vector2(0, 0));
            //lc6.ConvertEndPointToTarget(d5);
            s1.AddEvent(new EventTrigger(this, lc6));
            lc6.defaultActive = true;
            lc6.SetActive(true);

            Door d6 = gsPlay.AddOpeningDoor(Art.door, Level.GridToPosition(new Point(570, 15)), Level.GridToPosition(new Point(570, 23)), OpenState.Closed);
            Button b6 = gsPlay.AddButton(new EventTrigger(this, d6), 1, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(573, 19)));
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), Level.GridToPosition(new Point(564, 24)));
            LightningChain lc7 = gsPlay.AddLightning(b6.position, d6.position, Color.Green);
            lc7.ConvertEndPointToTarget(d6);
            b6.AddEvent(new EventTrigger(this, lc7));

            Door d7 = gsPlay.AddOpeningDoor(Art.door, Level.GridToPosition(new Point(576, 23)), Level.GridToPosition(new Point(576, 17)), OpenState.Closed);
            Button b7 = gsPlay.AddButton(new EventTrigger(this, d7), 1, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(579, 19)));
            LightningChain lc8 = gsPlay.AddLightning(b7.position, d7.position, Color.Green);
            lc8.ConvertEndPointToTarget(d7);
            b7.AddEvent(new EventTrigger(this, lc8));

            gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(579, 22)), .8f);
            //gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(635, 06)), Level.GridToPosition(new Point(635, 25)));
            MovingPlatform p1 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(595, 06)), Level.GridToPosition(new Point(595, 25)));
            FlipSwitch s2 = gsPlay.AddSwitch(new EventTrigger(this, p1), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(602, 25)));
            LightningChain lc9 = gsPlay.AddLightning(s2.position, GridToPosition(595, 25), Color.Green);
            lc9.AddVertex(p1.position);
            lc9.ConvertEndPointToTarget(p1);
            s2.AddEvent(new EventTrigger(this, lc9));

            Door d8 = gsPlay.AddFadingDoor(Art.door, Level.GridToPosition(new Point(605, 18)), OpenState.Closed);                                                //lower barn exit
            FlipSwitch s3 = gsPlay.AddOnSwitch(new EventTrigger(this, d8), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(601, 19)));                                  //lower barn exit
            LightningChain lc10 = gsPlay.AddLightning(s3.position, GridToPosition(601, 20) + new Vector2(0, 16), Color.Green);
            lc10.AddVertex(GridToPosition(605, 20) + new Vector2(0, 16));
            lc10.AddVertex(GridToPosition(605, 20) + new Vector2(0, 0));
            //lc6.ConvertEndPointToTarget(d5);
            s3.AddEvent(new EventTrigger(this, lc10));
            lc10.defaultActive = true;
            lc10.SetActive(true);

            finalTrapDoor = gsPlay.AddOpeningDoor(Art.door, Level.GridToPosition(new Point(600, 28)), Level.GridToPosition(new Point(600, 24)), OpenState.Closed);
            Button finalButton = gsPlay.AddButton(new EventTrigger(this, finalTrapDoor), 2, gsPlay.LoadTexture("TestSprites/button"), Level.GridToPosition(new Point(591, 26)));
            LightningChain lc11 = gsPlay.AddLightning(finalButton.position, GridToPosition(600, 26), Color.Green);
            lc11.AddVertex(finalTrapDoor.position);
            lc11.ConvertEndPointToTarget(finalTrapDoor);
            finalButton.AddEvent(new EventTrigger(this, lc11));

            finalTopDoor = gsPlay.AddFadingDoor(Art.door, Level.GridToPosition(new Point(605, 09)), OpenState.Closed);                                                //upper barn exit
            FlipSwitch finalSwitch = gsPlay.AddOnSwitch(new EventTrigger(this, finalTopDoor), gsPlay.LoadTexture("TestSprites/switch"), Level.GridToPosition(new Point(601, 10)));                    //upper barn exit
            finalSwitch.AddEvent(new EventTrigger(this, 4));
            LightningChain lc12 = gsPlay.AddLightning(finalSwitch.position, GridToPosition(601, 11) + new Vector2(0, 16), Color.Green);
            lc12.AddVertex(GridToPosition(605, 11) + new Vector2(0, 16));
            lc12.AddVertex(GridToPosition(605, 11) + new Vector2(0, 0));
            //lc6.ConvertEndPointToTarget(d5);
            finalSwitch.AddEvent(new EventTrigger(this, lc12));
            lc12.defaultActive = true;
            lc12.SetActive(true);

            AudioManager.PlayMusic("Field");
        }
コード例 #5
0
ファイル: Level2.cs プロジェクト: jacobnelson/WorldsApart
        public Level2(GSPlay gsPlay)
            : base(gsPlay)
        {
            levelDataTexture = gsPlay.LoadTexture("Levels/level2Data");

            player1Pos = GridToPosition(26, 85);
            player2Pos = GridToPosition(22, 85);

            //player1Pos = GridToPosition(339, 52);
            //player2Pos = player1Pos;

            portalPos = GridToPosition(457, 67);
            pItemPos = GridToPosition(241, 79);

            renderCollision = false;

            SetupLevel();

            Vector2 bgPosition = new Vector2(-400, -350);
            for (int x = 0; x < 3; x++)
            {
                SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/forestBackdropBase1"), bgPosition);
                bg1.SetPlayerMode(PlayerObjectMode.One);
                gsPlay.AddParallax(bg1, .1f);
                SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/forestBackdropBase2"), bgPosition);
                bg2.SetPlayerMode(PlayerObjectMode.Two);
                gsPlay.AddParallax(bg2, .1f);

                bgPosition.X += 1024;
            }

            bgPosition = new Vector2(-300, -200);
            for (int x = 0; x < 4; x++)
            {
                SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/forestBackdropOverlay1"), bgPosition);
                bg1.SetPlayerMode(PlayerObjectMode.One);
                gsPlay.AddParallax(bg1, .2f);
                SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/forestBackdropOverlay2"), bgPosition);
                bg2.SetPlayerMode(PlayerObjectMode.Two);
                gsPlay.AddParallax(bg2, .2f);

                bgPosition.X += 1024;
            }

            bgPosition = new Vector2(-300, -300);
            for (int x = 0; x < 8; x++)
            {
                for (int y = 0; y < 2; y++)
                {
                    SpriteIMG bg1 = new SpriteIMG(gsPlay.LoadTexture("BGs/forestMatte1"), bgPosition);
                    bg1.SetPlayerMode(PlayerObjectMode.One);
                    gsPlay.AddParallax(bg1, .5f);
                    SpriteIMG bg2 = new SpriteIMG(gsPlay.LoadTexture("BGs/forestMatte2"), bgPosition);
                    bg2.SetPlayerMode(PlayerObjectMode.Two);
                    gsPlay.AddParallax(bg2, .5f);

                    bgPosition.Y += 1024;
                }

                bgPosition.Y = -300;
                bgPosition.X += 1024;
            }

            gsPlay.AddBGWarmGear(gsPlay.LoadTexture("GameObjects/gearWarm1"), GridToCenterPosition(239, 76), .75f, .02f, 1);
            gsPlay.AddBGCoolGear(gsPlay.LoadTexture("GameObjects/gearCool1"), GridToCenterPosition(239, 76), .75f, .02f, 1);
            gsPlay.AddBGWarmGear(gsPlay.LoadTexture("GameObjects/gearWarm2"), GridToCenterPosition(242, 80), .5f, -.03f, 1);
            gsPlay.AddBGCoolGear(gsPlay.LoadTexture("GameObjects/gearCool2"), GridToCenterPosition(242, 80), .5f, -.03f, 1);

            for (int x = 1; x <= 16; x++)
            {
                for (int y = 1; y <= 4; y++)
                {
                    string fgName = "LevelTiles/Forest/forestCoolFG" + x + "x" + y;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                        fg.SetPlayerMode(PlayerObjectMode.Two);
                    }

                    string bgName = "LevelTiles/Forest/forestCoolBG" + x + "x" + y;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                        bg.SetPlayerMode(PlayerObjectMode.Two);
                    }

                }
            }

            for (int x = 1; x <= 16; x++)
            {
                for (int y = 1; y <= 4; y++)
                {
                    string fgName = "LevelTiles/Forest/forestWarmFG" + x + "x" + y;
                    if (File.Exists("Content/" + fgName + ".xnb"))
                    {
                        SpriteIMG fg = gsPlay.AddFrontFGTile(gsPlay.LoadTexture(fgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        fg.origin = Vector2.Zero;
                        fg.SetPlayerMode(PlayerObjectMode.One);

                    }

                    string bgName = "LevelTiles/Forest/forestWarmBG" + x + "x" + y;
                    if (File.Exists("Content/" + bgName + ".xnb"))
                    {
                        SpriteIMG bg = gsPlay.AddBackFGTile(gsPlay.LoadTexture(bgName), new Vector2(1024 * (x - 1), 1024 * (y - 1)));
                        bg.origin = Vector2.Zero;
                        bg.SetPlayerMode(PlayerObjectMode.One);
                    }

                }
            }

            rightLimit = levelWidth;

            Sprite cameraTarget = new Sprite(GridToPosition(137, 86));
            gsPlay.cameraPlayer1.AddTarget(cameraTarget);
            gsPlay.cameraPlayer2.AddTarget(cameraTarget);

            cameraTarget = new Sprite(GridToPosition(201, 83));
            gsPlay.cameraPlayer1.AddTarget(cameraTarget);
            gsPlay.cameraPlayer2.AddTarget(cameraTarget);

            atmosphereLight = new Color(150, 150, 150);

            //puzzle 1
            Door d1 = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorMidWarm"), GridToPosition(new Point(101, 87)), OpenState.Closed, new Vector2(3, -20), new Vector2(128));
            d1.SetPlayerMode(PlayerObjectMode.One);
            Button bb1 = gsPlay.AddButton(new EventTrigger(this, d1), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(105, 81)));
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(137, 46))).selfIlluminating = true;
            LightningChain lc1 = gsPlay.AddLightning(GridToPosition(new Point(105, 81)), GridToPosition(101, 81), Color.Green);
            lc1.AddVertex(d1.position + new Vector2(0,-64));
            bb1.AddEvent(new EventTrigger(this, lc1));
            lc1.defaultActive = true;
            lc1.SetActive(true);

            //puzzle 2

            //puzzle 3
            MovingPlatform p11 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(201, 84)), Level.GridToPosition(new Point(201, 84)));
            p11.SetPlayerMode(PlayerObjectMode.One);
            MovingPlatform p12 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(201, 90)), Level.GridToPosition(new Point(201, 84)));
            FlipSwitch ss1 = gsPlay.AddSwitch(new EventTrigger(this, p12), gsPlay.LoadTexture("TestSprites/switch"), GridToPosition(new Point(212, 81)));
            LightningChain lc2 = gsPlay.AddLightning(ss1.position, GridToPosition(212, 90), Color.Green);
            lc2.AddVertex(GridToPosition(201, 90));
            lc2.AddVertex(p12.position);
            lc2.ConvertEndPointToTarget(p12);
            ss1.AddEvent(new EventTrigger(this, lc2));

            //Moveable m1 = gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(211, 81)), .8f);
            //Moveable m2 = gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(201, 84)), .8f);
            //m2.SetPlayerMode(PlayerObjectMode.One);

            //puzzle 4
            Door d2 = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorLargeWarm"), GridToPosition(new Point(241, 84)), OpenState.Closed, new Vector2(1,-39), new Vector2(192, 128));
            gsPlay.frontFGList.Add(d2.AddCoolTile(gsPlay.LoadTexture("TestSprites/forestDoorLargeCool")));
            Button bb2 = gsPlay.AddButton(new EventTrigger(this, d2), 2, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(236, 77)));
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(226, 49))).selfIlluminating = true;
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(238, 55))).selfIlluminating = true;
            LightningChain lc3 = gsPlay.AddLightning(bb2.position, GridToCenterPosition(238, 77) + new Vector2(0, -16), Color.Green);
            lc3.AddVertex(GridToCenterPosition(238, 81));
            lc3.AddVertex(GridToCenterPosition(241, 81) + new Vector2(-16, 0));
            lc3.AddVertex(GridToCenterPosition(241, 81) + new Vector2(-16, 16));
            bb2.AddEvent(new EventTrigger(this, lc3));
            lc3.defaultActive = true;
            lc3.SetActive(true);

            //puzzle 5
            Moveable m3 = gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(261, 85)), .8f);
            m3.SetPlayerMode(PlayerObjectMode.Two);
            Moveable m4 = gsPlay.AddMoveable(gsPlay.LoadTexture("TestSprites/moveable"), Level.GridToPosition(new Point(282, 76)), .8f);

            doubleButtonDoor = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorMidWarm"), GridToPosition(new Point(315, 78)), OpenState.Closed, new Vector2(3, -20), new Vector2(128));
            gsPlay.frontFGList.Add(doubleButtonDoor.AddCoolTile(gsPlay.LoadTexture("TestSprites/forestDoorMidCool")));

            Button bb3 = gsPlay.AddButton(new EventTrigger(this, 77), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(308, 80)));
            Button bb4 = gsPlay.AddButton(new EventTrigger(this, 78), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(321, 80)));
            bb3.SetPlayerMode(PlayerObjectMode.One);
            bb4.SetPlayerMode(PlayerObjectMode.Two);

            LightningChain lc4 = gsPlay.AddLightning(GridToPosition(new Point(308, 80)), GridToPosition(new Point(315, 82)), Color.Yellow);
            bb3.AddEvent(new EventTrigger(this, lc4));
            lc4.defaultActive = true;
            lc4.SetActive(true);

            LightningChain lc5 = gsPlay.AddLightning(GridToPosition(new Point(321, 80)), GridToPosition(new Point(315, 82)), Color.Blue);
            bb4.AddEvent(new EventTrigger(this, lc5));
            lc5.defaultActive = true;
            lc5.SetActive(true);

            lc6 = gsPlay.AddLightning(GridToPosition(315, 82), GridToPosition(315, 80), Color.Green);
            lc6.SetActive(true);

            //secret puzzle
            MovingPlatform p4 = gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(259, 63)), Level.GridToPosition(new Point(278, 63)));

            //red platforms
            MovingPlatform p5 = gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(272, 50)), Level.GridToPosition(new Point(272, 59)));
            p5.SetPlayerMode(PlayerObjectMode.One);
            MovingPlatform p6 = gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(278, 48)), Level.GridToPosition(new Point(289, 48)));
            p6.SetPlayerMode(PlayerObjectMode.One);
            MovingPlatform p7 = gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(304, 38)), Level.GridToPosition(new Point(297, 45)));
            p7.SetPlayerMode(PlayerObjectMode.One);

            //blue platforms
            MovingPlatform p8 = gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(284, 50)), Level.GridToPosition(new Point(284, 59)));
            p8.SetPlayerMode(PlayerObjectMode.Two);
            MovingPlatform p9 = gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(278, 48)), Level.GridToPosition(new Point(267, 48)));
            p9.SetPlayerMode(PlayerObjectMode.Two);
            MovingPlatform p10 = gsPlay.AddPlatform(Art.platform, Level.GridToPosition(new Point(252, 38)), Level.GridToPosition(new Point(259, 45)));
            p10.SetPlayerMode(PlayerObjectMode.Two);

            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(245, 32))).selfIlluminating = true;
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(312, 32))).selfIlluminating = true;

            Door d5 = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorRight"), GridToPosition(new Point(243, 79)) + new Vector2(16,0), OpenState.Closed, new Vector2(-2,10), new Vector2(32, 128));
            gsPlay.frontFGList.Add(d5.AddCoolTile(gsPlay.LoadTexture("TestSprites/forestDoorRightCool")));
            Button bb6 = gsPlay.AddButton(new EventTrigger(this, d5), 2, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(278, 39)));
            LightningChain lc7 = gsPlay.AddLightning(bb6.position, bb6.position + new Vector2(0, 16), Color.Red);
            lc7.AddVertex(GridToCenterPosition(243, 39));
            lc7.AddVertex(GridToCenterPosition(243, 76) + new Vector2(0, 16));
            bb6.AddEvent(new EventTrigger(this, lc7));
            lc7.defaultActive = true;
            lc7.SetActive(true);

            //6
            //Door d6 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(342, 52)) + new Vector2(-16, 0), OpenState.Closed);
            //gsPlay.AddButton(new EventTrigger(this, d6), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(97, 10)));
            //Door d7 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(337, 34)) + new Vector2(-16, 0), OpenState.Closed);
               // d7.SetPlayerMode(PlayerObjectMode.One);
            //Button b2 = gsPlay.AddButton(new EventTrigger(this, d7), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(339, 55)));
            //b2.SetPlayerMode(PlayerObjectMode.Two);

            //blockers
            //Door d9 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(337, 52)) + new Vector2(-16, 0), OpenState.Closed);
            //d9.SetPlayerMode(PlayerObjectMode.Two);
            //Door d8 = gsPlay.AddFadingDoor(Art.door, GridToPosition(new Point(342, 52)) + new Vector2(-16, 0), OpenState.Closed);
            //d8.SetPlayerMode(PlayerObjectMode.One);
            //or gate

            //MovingPlatform p13 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(96, 10)), Level.GridToPosition(new Point(96, 12)));
            //Button b1 = gsPlay.AddButton(new EventTrigger(this, p13), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(339, 55)));
            //b1.SetPlayerMode(PlayerObjectMode.One);
            //MovingPlatform p14 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(99, 10)), Level.GridToPosition(new Point(99, 12)));
            //gsPlay.AddButton(new EventTrigger(this, p14), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(339, 44)));
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(97, 9))).selfIlluminating = true;
            gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(98, 9))).selfIlluminating = true;

            //part2
            Door d10 = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorLeft"), GridToPosition(new Point(362, 74)) + new Vector2(-16, 0), OpenState.Closed, new Vector2(4,10), new Vector2(32, 128));
            d10.SetPlayerMode(PlayerObjectMode.One);
            Door d11 = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorLeftCool"), GridToPosition(new Point(362, 27)) + new Vector2(-16, 0), OpenState.Closed, new Vector2(4, 10), new Vector2(32, 128));
            d11.SetPlayerMode(PlayerObjectMode.Two);

            //64 40

            Door d14 = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorRightCool"), GridToPosition(new Point(367, 27)) + new Vector2(-16, 0), OpenState.Closed, new Vector2(-2, 10), new Vector2(32, 128));
            d14.SetPlayerMode(PlayerObjectMode.Two);
            //NEEDS TO BE TIMED!!!
            FlipSwitch s1 = gsPlay.AddOnSwitch(new EventTrigger(this, d14), gsPlay.LoadTexture("TestSprites/switch"), GridToPosition(new Point(364, 40)));
            s1.SetPlayerMode(PlayerObjectMode.One);
            LightningChain lc8 = gsPlay.AddLightning(s1.position, GridToPosition(367, 40) + new Vector2(-16, 0), Color.Yellow);
            lc8.AddVertex(d14.position + new Vector2(0, 64));
            s1.AddEvent(new EventTrigger(this, lc8));
            lc8.defaultActive = true;
            lc8.SetActive(true);

            Door d15 = gsPlay.AddFrontFadingDoor(gsPlay.LoadTexture("TestSprites/forestDoorRight"), GridToPosition(new Point(367, 74)) + new Vector2(-16, 0), OpenState.Closed, new Vector2(-2, 10), new Vector2(32, 128));
            d15.SetPlayerMode(PlayerObjectMode.One);
            //NEEDS TO BE TIMED!!!
            FlipSwitch s2 = gsPlay.AddOnSwitch(new EventTrigger(this, d15), gsPlay.LoadTexture("TestSprites/switch"), GridToPosition(new Point(364, 65)));
            s2.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc9 = gsPlay.AddLightning(s2.position, GridToPosition(367, 65) + new Vector2(-16, 0), Color.Blue);
            lc9.AddVertex(d15.position + new Vector2(0, -64));
            s2.AddEvent(new EventTrigger(this, lc9));
            lc9.defaultActive = true;
            lc9.SetActive(true);

            //Add Front FG Tile to Cover bottom of Player One doors
            gsPlay.AddFrontFGTile(gsPlay.LoadTexture("TestSprites/treeTrunkBottomWarm"), GridToPosition(364, 76) + new Vector2(0, 16)).SetPlayerMode(PlayerObjectMode.One);

            PickUpObj o1 = gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(364, 28)));
            o1.SetPlayerMode(PlayerObjectMode.Two);
            PickUpObj o2 = gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(364, 75)));
            o2.SetPlayerMode(PlayerObjectMode.One);

            MovingPlatform d12 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(389, 42)) + new Vector2(-16, 0), Level.GridToPosition(new Point(389, 40)) + new Vector2(-16, 0));
            MovingPlatform d23 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(390, 46)) + new Vector2(-16, 0), Level.GridToPosition(new Point(390, 48)) + new Vector2(-16, 0));
            //d12.SetPlayerMode(PlayerObjectMode.Two);
            Button b3 = gsPlay.AddButton(new EventTrigger(this, d12), .5f, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(391, 36)));
            b3.AddEvent(new EventTrigger(this, d23));
            b3.SetPlayerMode(PlayerObjectMode.One);
            LightningChain lc10 = gsPlay.AddLightning(b3.position, GridToPosition(389, 36), Color.Yellow);
            lc10.AddVertex(d12.position + new Vector2(16, 0));
            b3.AddEvent(new EventTrigger(this, lc10));

            MovingPlatform d13 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(389, 46)) + new Vector2(-16, 0), Level.GridToPosition(new Point(389, 48)) + new Vector2(-16, 0));
            MovingPlatform d22 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(390, 42)) + new Vector2(-16, 0), Level.GridToPosition(new Point(390, 40)) + new Vector2(-16, 0));
            //d13.SetPlayerMode(PlayerObjectMode.One);
            Button b4 = gsPlay.AddButton(new EventTrigger(this, d13), .5f, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(391, 60)));
            b4.AddEvent(new EventTrigger(this, d22));
            b4.SetPlayerMode(PlayerObjectMode.Two);
            LightningChain lc11 = gsPlay.AddLightning(b4.position, GridToPosition(389, 60), Color.Blue);
            lc11.AddVertex(d13.position + new Vector2(16, 0));
            b4.AddEvent(new EventTrigger(this, lc11));

            //MovingPlatform d22 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(390, 42)) + new Vector2(-16, 0), Level.GridToPosition(new Point(390, 40)) + new Vector2(-16, 0));
            ////d12.SetPlayerMode(PlayerObjectMode.Two);
            //Button b5 = gsPlay.AddButton(new EventTrigger(this, d22), .5f, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(391, 60)));
            //b5.SetPlayerMode(PlayerObjectMode.Two);
            //MovingPlatform d23 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(390, 46)) + new Vector2(-16, 0), Level.GridToPosition(new Point(390, 48)) + new Vector2(-16, 0));
            ////d13.SetPlayerMode(PlayerObjectMode.One);
            //Button b6 = gsPlay.AddButton(new EventTrigger(this, d23), .5f, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(391, 36)));
            //b6.SetPlayerMode(PlayerObjectMode.One);

            //MovingPlatform p15 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(367, 49)) + new Vector2(-16, 0), Level.GridToPosition(new Point(367, 47)) + new Vector2(-16, 0));
            //FlipSwitch b5 = gsPlay.AddSwitch(new EventTrigger(this, p15), gsPlay.LoadTexture("TestSprites/switch"), GridToPosition(new Point(365, 45)));
            //b5.pressureCooker = true;
            //MovingPlatform p16 = gsPlay.AddReversePlatform(Art.door, Level.GridToPosition(new Point(367, 53)) + new Vector2(-16, 0), Level.GridToPosition(new Point(367, 55)) + new Vector2(-16, 0));
            //FlipSwitch b6 = gsPlay.AddSwitch(new EventTrigger(this, p16), gsPlay.LoadTexture("TestSprites/switch"), GridToPosition(new Point(365, 60)));
            //b6.pressureCooker = true;

            //gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(294, 70))).selfIlluminating = true;

            ////and gate
            //MovingPlatform p17 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(370, 34)), Level.GridToPosition(new Point(370, 36)));
            //FlipSwitch b8 = gsPlay.AddSwitch(new EventTrigger(this, p17), gsPlay.LoadTexture("TestSprites/switch"), GridToPosition(new Point(365, 45)));
            //b8.pressureCooker = true;
            ////b8.SetPlayerMode(PlayerObjectMode.One);
            //MovingPlatform p18 = gsPlay.AddReversePlatform(Art.platform, Level.GridToPosition(new Point(370, 34)), Level.GridToPosition(new Point(370, 36)));
            //FlipSwitch b9 = gsPlay.AddSwitch(new EventTrigger(this, p18), gsPlay.LoadTexture("TestSprites/switch"), GridToPosition(new Point(365, 60)));
            //b9.pressureCooker = true;
            ////b9.SetPlayerMode(PlayerObjectMode.Two);

            //gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(370, 33))).selfIlluminating = true;

            //Door d17 = gsPlay.AddFadingDoor(Art.platform, GridToPosition(new Point(375, 34)), OpenState.Closed);
            //gsPlay.AddButton(new EventTrigger(this, d17), 1, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(370, 35)));
            //gsPlay.AddBouncyBall(.5f, gsPlay.LoadTexture("TestSprites/pickUp"), GridToPosition(new Point(375, 33))).selfIlluminating = true;

            //end door

            //Door d16 = gsPlay.AddFadingDoor(gsPlay.LoadTexture("TestSprites/doorThick"), GridToPosition(new Point(390, 44)), OpenState.Closed);
            //Button b7 = gsPlay.AddButton(new EventTrigger(this, d16), 2, gsPlay.LoadTexture("TestSprites/button"), GridToPosition(new Point(364, 53)));

            //364, 53
            //Button (365, 45)
            //Button (365, 60)

            //672,11

            AudioManager.PlayMusic("Forest");
        }