12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package me.hammerle.supersnuvi.entity;
- 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.StoneMovement;
- import me.hammerle.supersnuvi.entity.components.ai.HumanController;
- import me.hammerle.supersnuvi.entity.components.ai.LondonerController;
- import me.hammerle.supersnuvi.entity.components.IDeath;
- 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.CollisionBox;
- import me.hammerle.supersnuvi.util.SoundUtils.Sound;
- import me.hammerle.supersnuvi.gamelogic.Level;
- public final class EntityBuilder
- {
- public static Entity buildHero(Level level, float x, float y)
- {
- Entity hero = new Entity("Hero", x, y, CollisionBox.createScaledTileBox(0.0f, 0.15625f, 0.84375f, 2.0f));
- hero.controller = new HumanController(hero);
- hero.health = new DefaultHealth(hero, (ent) -> level.scheduleReset(), 100.0f, null, Sound.MIRROR_CRACK, Sound.MIRROR_BREAK);
- hero.energy = new DefaultEnergy(hero, 100.0f);
- hero.move = new DefaultMovement(hero, 12.0f, 0.0f, 50.0f);
- hero.itemCollector = ItemCollector.HERO;
- return hero;
- }
-
- public static Entity buildStartScreenHero(Level level, float x, float y)
- {
- Entity hero = new Entity("Hero", x, y, CollisionBox.createScaledTileBox(0.0f, 0.15625f, 0.84375f, 2.0f));
- hero.controller = new StartScreenHeroController(hero);
- hero.health = new DefaultHealth(hero, (ent) -> level.scheduleReset(), 100.0f, null, Sound.MIRROR_CRACK, Sound.MIRROR_BREAK);
- hero.energy = new DefaultEnergy(hero, 100.0f);
- hero.move = new DefaultMovement(hero, 12.0f, 0.0f, 50.0f);
- hero.itemCollector = ItemCollector.HERO;
- return hero;
- }
-
- public static Entity buildLondoner(Level level, float x, float y, boolean evil)
- {
- Entity londoner = new Entity(evil ? "EvilLondoner" : "Londoner", x, y, CollisionBox.createScaledTileBox(0.21875f, 0.59375f, 0.65625f, 2.0f));
- londoner.controller = new LondonerController(londoner, evil);
- londoner.health = new DefaultHealth(londoner, IDeath.NULL, 100.0f, null, null, null);
- londoner.energy = new DefaultEnergy(londoner, 100.0f);
- londoner.move = new DefaultMovement(londoner, 3.0f, 0.0f, 50.0f);
- return londoner;
- }
-
- public static Entity buildCrumblingStone(Level level, float x, float y)
- {
- Entity stone = new Entity("CrumblingStone", x, y, CollisionBox.DEFAULT_TILE_BOX);
- stone.controller = new StoneController(stone);
- stone.move = new StoneMovement(stone);
- return stone;
- }
-
- public static Entity buildPlatform(Level level, float x, float y, int tx)
- {
- Entity platform = new Entity("Platform", x, y, CollisionBox.createScaledTileBox(0.03125f, 0.0f, 0.03125f + tx, 0.78125f));
- platform.controller = new PlatformController(platform);
- platform.move = new StoneMovement(platform);
- return platform;
- }
-
- 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);
- }
- return null;
- }
- }
|