public override void Activate(PenumbraComponent penumbra, ContentManager content)
 {
     Texture2D tex = content.Load<Texture2D>("LightTexture");
     _light = new TexturedLight(tex)
     {
         Position = new Vector2(-penumbra.GraphicsDevice.Viewport.Width / 2f, 0),
         Origin = new Vector2(0.5f, 1),
         Color = Color.White,
         Radius = 150,
         Rotation = MathHelper.PiOver2
     };
     penumbra.Lights.Add(_light);
     _hull = new Hull(new Vector2(-0.5f, 0.5f), new Vector2(0.5f, 0.5f), new Vector2(0.5f, -0.5f), new Vector2(-0.5f, -0.5f))
     {
         Position = Vector2.Zero,
         Scale = new Vector2(50)
     };
     penumbra.Hulls.Add(_hull);
 }
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // Load fonts
            consoleFont = Content.Load<SpriteFont>("Fonts/Console");
            hudFont = Content.Load<SpriteFont>("Fonts/Hud");

            // Load overlay textures
            winOverlay = Content.Load<Texture2D>("Overlays/you_win");
            loseOverlay = Content.Load<Texture2D>("Overlays/you_lose");
            diedOverlay = Content.Load<Texture2D>("Overlays/you_died");

            Penumbra.Initialize();
            Console.LoadContent(consoleFont, Interpreter);
            texturedLight = new TexturedLight(Content.Load<Texture2D>("Sprites/Light"))
            {
                Origin = new Vector2(0.5f, 0.5f)
            };

            //Work out how much we need to scale our graphics to fill the screen
            float horScaling = GraphicsDevice.PresentationParameters.BackBufferWidth / baseScreenSize.X;
            float verScaling = GraphicsDevice.PresentationParameters.BackBufferHeight / baseScreenSize.Y;
            var screenScalingFactor = new Vector3(horScaling, verScaling, 1);
            globalTransformation = Matrix.CreateScale(screenScalingFactor);
            Penumbra.Transform = globalTransformation;

            virtualGamePad = new VirtualGamePad(baseScreenSize, globalTransformation,
                Content.Load<Texture2D>("Sprites/VirtualControlArrow"));

            //Known issue that you get exceptions if you use Media PLayer while connected to your PC
            //See http://social.msdn.microsoft.com/Forums/en/windowsphone7series/thread/c8a243d2-d360-46b1-96bd-62b1ef268c66
            //Which means its impossible to test this from VS.
            //So we have to catch the exception and throw it away
            try
            {
                MediaPlayer.IsRepeating = true;
                MediaPlayer.Play(Content.Load<Song>("Sounds/Music"));
            }
            catch
            {
            }

            Interpreter.AddVariable("penumbra", Penumbra);
            Interpreter.AddVariable("spotlight", spotlight);
            Interpreter.AddVariable("pointLight", pointLight);
            Interpreter.AddVariable("texturedLight", texturedLight);

            LoadNextLevel();
        }