Exemplo n.º 1
0
        public override void Setup(Game _game, UserInput _keyboard, ScreenMessage _message)
        {
            base.Setup(_game, _keyboard, _message);

            deathTimer = 0;
            startTimer = 0;
            winTimer = 0;

            m_tilemap = new TileMap(levelFile);

            m_size = new Vector2i(m_tilemap.Width, m_tilemap.Height);
            Bounds.Right = m_size.X;
            Bounds.Top = m_size.Y;
            m_house = new ObjectHouse(m_tilemap);

            StarryBackground bg = new StarryBackground(m_tilemap.Size);
            bg.Layer = Layer.Pixelly;
            m_house.AddDrawable(bg);

            gangsterNo1 = new Hero(m_keyboard, m_house);
            gangsterNo1.Position = m_tilemap.locationData.start.point;
            gangsterNo1.PlaceInWorld(m_tilemap);
            m_house.AddDrawable(gangsterNo1);
            m_house.AddUpdateable(gangsterNo1);
            m_house.Add<IShootable>(gangsterNo1);
            m_game.SetCameraSubject(gangsterNo1);

            m_tilemap.Create(m_house, _game);
            m_house.AddDrawable(m_tilemap);
            m_tilemap.Priority = Priority.Middle;

            endzone = m_tilemap.locationData.end.box;

            // fx

            // pixelly
            pixellyEffect
                = new Effect(
                    new Vector2i(Game.SmallScreenWidth/2, Game.SmallScreenHeight/2),
                    new Vector2i(Game.ScreenWidth, Game.ScreenHeight),
                    new Vector2i(Game.Width, Game.Height)){
                CaptureLayer = Layer.Pixelly,
                Layer = Layer.FX,
                Priority = Priority.Back,
                Scaling = Sprite.ScaleType.Pixelly
            };
            pixellyEffect.SetHUD(_game.Camera);
            m_house.AddDrawable(pixellyEffect);
            m_house.AddUpdateable(pixellyEffect);
            m_house.Add<IGrabing>(pixellyEffect);

            // fading
            fadingEffect
                = new Effect(
                    new Vector2i(Game.ScreenWidth, Game.ScreenHeight),
                    new Vector2i(Game.ScreenWidth, Game.ScreenHeight),
                    new Vector2i(Game.Width, Game.Height)){
                CaptureLayer = Layer.Blurry | Layer.Pixelly | Layer.Normal | Layer.FX,
                Layer = Layer.Fade,
                Priority = Priority.Front
            };

            fadingEffect.SetHUD(_game.Camera);
            fadingEffect.SetFading(1f, new Colour(0,0,0,1), new Colour(0,0,0,0));
            fadingEffect.SetBackground(new Colour(0,0,0,1f));
            m_house.AddDrawable(fadingEffect);
            m_house.AddUpdateable(fadingEffect);
            m_house.Add<IGrabing>(fadingEffect);

            // messages
            welcome_message = new Text("Welcome to the Magnum House...");
            welcome_message.SetHUD(m_game.Camera);
            welcome_message.CentreOn(Game.Size.ToF()/2);
            welcome_message.Priority = Priority.Front;
            welcome_message.Layer = Layer.Normal;
            welcome_message.Transparency = 0f;
            m_house.AddDrawable(welcome_message);
        }