public override void addEntity(Entity entity) { base.addEntity(entity); if (!filled && (entity is GhostEntity || entity is GhostBossEntity)) { entity.remove(); filled = true; blocksMotion = false; sprite.removed = true; for (int i = 0; i < 8; i++) { RubbleSprite s = new RubbleSprite(); s.col = this.sprite.col; addSprite(s); } if (entity is GhostBossEntity) { level.addEntity(new KeyEntity(x, y)); Sound.bosskill.play(); } else { Sound.altar.play(); } } }
public override void removeEntity(Entity entity) { base.removeEntity(entity); if (entity is Player) { wait = false; } }
public override bool blocks(Entity entity) { if (entity is Player) return false; if (entity is Bullet) return false; if (entity is EyeBossEntity) return false; if (entity is EyeEntity) return false; return true; }
public override bool blocks(Entity entity) { double openLimit = 7 / 8.0; if (openness >= openLimit && entity is Player) return blocksMotion; if (openness >= openLimit && entity is Bullet) return blocksMotion; if (openness >= openLimit && entity is OgreEntity) return blocksMotion; return true; }
public override void addEntity(Entity entity) { base.addEntity(entity); Player player = entity as Player; if (null != player) { player.win(); } }
public override void addEntity(Entity entity) { base.addEntity(entity); if (!wait && entity is Player) { level.switchLevel(id); Sound.ladder.play(); } }
public override bool blocks(Entity entity) { Player player = entity as Player; if (null != player) { if (player.getSelectedItem() == Item.flippers) return false; } if (entity is Bullet) return false; return blocksMotion; }
public override void addEntity(Entity entity) { base.addEntity(entity); if (!filled && entity is BoulderEntity) { entity.remove(); filled = true; blocksMotion = false; addSprite(new Sprite(0, 0, 0, 8 + 2, BoulderEntity.COLOR)); Sound.thud.play(); } }
public override void addEntity(Entity entity) { base.addEntity(entity); Player player = entity as Player; if (!taken && null != player) { sprite.removed = true; taken = true; blocksMotion = false; player.loot++; Sound.pickup.play(); } }
public override bool blocks(Entity entity) { if (entity is BoulderEntity) return false; return blocksMotion; }
public override double getFloorHeight(Entity e) { if (pressed) return -0.02; else return 0.02; }
public override bool blocks(Entity entity) { if (entity is Player) return false; return blocksMotion; }
public override bool blocks(Entity entity) { return blocksMotion; }
public override double getFloorHeight(Entity e) { return -0.5; }