Ejemplo n.º 1
0
        public Pinguin(PinguGame pinguGame)
        {
            _pinguGame = pinguGame;

            // Add main (pinguin) and some content rules.
            PinguinEntity = new Entity("sprites/pinguin", 0.1f);

            // Jumping
            PinguinEntity.AddContentRule("sprites/pinguin_jump", entity =>
                                         entity.Movement.Y < -0 ||
                                         entity.Movement.Y > 0 && !pinguGame.LastKeyboardState.IsKeyDown(Keys.Down));

            // Slide (laying down)
            PinguinEntity.AddContentRule("sprites/pinguin_slide", entity =>
                                         entity.Position.Y + entity.Size.Height >=
                                         pinguGame.ScreenSize.Height * pinguGame.Skyratio - 0.1 &&
                                         pinguGame.LastKeyboardState.IsKeyDown(Keys.Down));

            // Dead
            PinguinEntity.AddContentRule("sprites/pinguin_died",
                                         entity => pinguGame.Obstacles.Any(obstc => entity.CollisionWith(obstc.Entity)));

            // Listen to events.
            pinguGame.ManagerUpdate.OnUpdate += OnUpdate;
        }
Ejemplo n.º 2
0
        protected Obstacle(PinguGame pinguGame, Entity entity)
        {
            _pinguGame = pinguGame;
            Entity     = entity;

            // Set start position, right out of window size
            Entity.Position.X = _pinguGame.ScreenSize.Width + Entity.Size.Width;
            Entity.Position.Y = _pinguGame.GroundHandle.Position.Y - Entity.Size.Height;

            // Listen to events.
            _pinguGame.ManagerUpdate.OnUpdate += OnUpdate;
        }
Ejemplo n.º 3
0
 public Igloo(PinguGame pinguGame) : base(pinguGame,
                                          new Entity("sprites/Igloo", 0.07f) { OutOfWindowAllowed = true, MovementSpeed = 500f })
 {
 }