123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package me.hammerle.supersnuvi.entity;
- import me.hammerle.supersnuvi.entity.components.BoxMovement;
- import me.hammerle.supersnuvi.entity.components.DefaultHealth;
- import me.hammerle.supersnuvi.entity.components.DefaultMovement;
- import me.hammerle.supersnuvi.entity.components.DefaultEnergy;
- import me.hammerle.supersnuvi.entity.components.Energy;
- import me.hammerle.supersnuvi.entity.components.Health;
- import me.hammerle.supersnuvi.entity.components.StoneMovement;
- import me.hammerle.supersnuvi.entity.components.ai.HumanController;
- import me.hammerle.supersnuvi.entity.components.ai.LondonerController;
- import me.hammerle.supersnuvi.entity.components.ItemCollector;
- import me.hammerle.supersnuvi.entity.components.ai.PlatformController;
- import me.hammerle.supersnuvi.entity.components.ai.StartScreenHeroController;
- import me.hammerle.supersnuvi.entity.components.ai.StoneController;
- import me.hammerle.supersnuvi.util.SoundUtils.Sound;
- import me.hammerle.supersnuvi.gamelogic.Level;
- import me.hammerle.supersnuvi.tiles.Tile;
- import me.hammerle.supersnuvi.entity.components.IDespawn;
- import me.hammerle.supersnuvi.entity.components.ai.BoxController;
- public final class EntityBuilder
- {
- public static Entity buildHero(Level level, float x, float y)
- {
- Entity hero = new Entity(Tile.SIZE * 0.84375f, Tile.SIZE * 1.84375f,
- new HumanController(),
- new DefaultHealth(null, Sound.MIRROR_CRACK, Sound.MIRROR_BREAK),
- new DefaultEnergy(),
- new DefaultMovement(12.0f, 0.0f, 50.0f, false),
- ItemCollector.HERO,
- (ent) -> level.scheduleReset(),
- "Hero");
- hero.setPosition(x, y);
- return hero;
- }
-
- public static Entity buildStartScreenHero(Level level, float x, float y)
- {
- Entity hero = new Entity(Tile.SIZE * 0.84375f, Tile.SIZE * 1.84375f,
- new StartScreenHeroController(),
- new DefaultHealth(null, Sound.MIRROR_CRACK, Sound.MIRROR_BREAK),
- new DefaultEnergy(),
- new DefaultMovement(12.0f, 0.0f, 50.0f, false),
- ItemCollector.HERO,
- (ent) -> level.scheduleReset(),
- "Hero");
- hero.setPosition(x, y);
- return hero;
- }
-
- public static Entity buildLondoner(Level level, float x, float y, boolean evil)
- {
- Entity londoner = new Entity(Tile.SIZE * 0.4375f, Tile.SIZE * 1.40625f,
- new LondonerController(evil),
- new DefaultHealth(null, null, null),
- new DefaultEnergy(),
- new DefaultMovement(3.0f, 0.0f, 50.0f, true),
- ItemCollector.NULL,
- IDespawn.NULL,
- evil ? "EvilLondoner" : "Londoner");
- londoner.setPosition(x, y);
- return londoner;
- }
-
- public static Entity buildCrumblingStone(Level level, float x, float y)
- {
- Entity stone = new Entity(Tile.SIZE, Tile.SIZE,
- new StoneController(),
- Health.NULL,
- Energy.NULL,
- StoneMovement.STONE,
- ItemCollector.NULL,
- IDespawn.NULL,
- "CrumblingStone");
- stone.setPosition(x, y);
- return stone;
- }
-
- public static Entity buildPlatform(Level level, float x, float y, int tx)
- {
- // render offset: -0.03125, 0
- Entity platform = new Entity(Tile.SIZE * tx, Tile.SIZE * 0.78125f,
- new PlatformController(),
- Health.NULL,
- Energy.NULL,
- StoneMovement.PLATFORM,
- ItemCollector.NULL,
- IDespawn.NULL,
- "Platform");
- platform.setPosition(x, y);
- platform.setBaseFriction(0.0f, 0.0f);
- return platform;
- }
-
- public static Entity buildBox(Level level, float x, float y, int type)
- {
- Entity box = new Entity(Tile.SIZE, Tile.SIZE,
- new BoxController(type),
- Health.NULL,
- Energy.NULL,
- new BoxMovement(),
- ItemCollector.NULL,
- IDespawn.NULL,
- "Box");
- box.setPosition(x, y);
- return box;
- }
-
- public static Entity fromId(int id, Level level, float x, float y)
- {
- switch(id)
- {
- case 1:
- return buildLondoner(level, x, y, true);
- case 2:
- return buildLondoner(level, x, y, false);
- case 3:
- return buildBox(level, x, y, 0);
- case 4:
- return buildBox(level, x, y, 1);
- case 5:
- return buildBox(level, x, y, 2);
- }
- return null;
- }
- }
|