ILevel.java 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. package me.hammerle.supersnuvi.gamelogic;
  2. import java.util.List;
  3. import java.util.function.Consumer;
  4. import me.hammerle.snuviscript.code.Script;
  5. import me.hammerle.supersnuvi.entity.Entity;
  6. import me.hammerle.supersnuvi.tiles.Location;
  7. import me.hammerle.supersnuvi.util.CollisionObject;
  8. public interface ILevel
  9. {
  10. public int getWidth();
  11. public int getHeight();
  12. public Entity getHero();
  13. public void spawnEntity(Entity ent);
  14. public void scheduleReset();
  15. public void finishLevel();
  16. public void increaseSouls(int score);
  17. public void updateTile(int layer, int x, int y);
  18. public void updateTile(int x, int y);
  19. public List<CollisionObject> getMovementBoxesAt(CollisionObject box, Entity not);
  20. public List<Location> getCollisionBoxesAt(CollisionObject cb);
  21. public List<Entity> getEntitiesCollidingWith(Entity not, CollisionObject cb);
  22. public void callEvent(String name, Consumer<Script> before, Consumer<Script> after);
  23. public void callEvent(String name);
  24. }