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; }
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; }
public Igloo(PinguGame pinguGame) : base(pinguGame, new Entity("sprites/Igloo", 0.07f) { OutOfWindowAllowed = true, MovementSpeed = 500f }) { }