public override Event MakeReal(Screen level)
 {
     Text gText = new Text(textAndPos.text);
     gText.Position = textAndPos.pos;
     if (hud) gText.SetHUD(level.Game.Camera);
     return new TextEvent(trigger.MakeReal(level), gText, level.House);
 }
示例#2
0
        public TextBox(UserInput input, Vector2f size, Camera camera)
            : base(input, size, camera)
        {
            Contents = new Text("");
            if (camera != null)
                Contents.SetHUD(camera);

            m_keyboard.KeyDown += AddLetter;
        }
示例#3
0
        public override void Setup(Game _game, UserInput _keyboard, ScreenMessage _message)
        {
            base.Setup(_game, _keyboard, _message);

            TileMap tilemap = new TileMap("pictures/targetlevel.png");
            m_house = new ObjectHouse(tilemap);

            StarryBackground bg = new StarryBackground(tilemap.Size);
            m_house.AddDrawable(bg);

            gangsterNo1 = new Hero(m_keyboard, m_house);
            gangsterNo1.Position = new Vector2f(1f, 10f);
            gangsterNo1.PlaceInWorld(tilemap);
            m_house.AddDrawable(gangsterNo1);
            m_house.AddUpdateable(gangsterNo1);
            m_game.SetCameraSubject(gangsterNo1);

            tilemap.Create(m_house, _game);

            Text score = new Text("Left: 00");
            score.updateAction = (_d) => {
                score.Contents = "Left: " + m_house.GetAllDrawable<Target>().Count().ToString("00");
            };
            score.SetHUD(_game.Camera);
            score.TopRight();

            m_house.AddUpdateable(score);
            m_house.AddDrawable(score);

            Text time = new Text("Time: 00:00");
            time.SetHUD(_game.Camera);
            time.TopLeft();
            timePassed = 0;
            time.updateAction = (_d) => {
                timePassed += _d;
                time.Contents = "Time: " + timePassed.ToString("00.00").Replace(".",":");
            };

            m_house.AddUpdateable(time);
            m_house.AddDrawable(time);
        }
示例#4
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);
        }
示例#5
0
        protected TextBox NewTextBox(string label, string text, int pos)
        {
            Text textLabel = new Text(label);
            textLabel.SetHUD(m_game.Camera);
            textLabel.Position = new Vector2f(1, pos*2+3);
            textItems.Add(textLabel);

            TextBox textBox = new TextBox(m_keyboard, new Vector2f(10, 2), m_game.Camera);
            textBox.Position = new Vector2f(1, pos*2+1);
            textBox.Pressed += () => {buttonClicked = true;};
            textBox.SetLabel(textLabel);
            textBox.Text = text;
            items.Add(textBox);

            return textBox;
        }
示例#6
0
 protected Text NewLabel(string text, int pos)
 {
     Text label = new Text(text);
     label.SetHUD(m_game.Camera);
     label.Position = new Vector2f(1, pos*2+1);
     textItems.Add(label);
     return label;
 }