package net.mostlyoriginal.game.manager; import com.artemis.ComponentMapper; import com.artemis.Entity; import com.artemis.Manager; import com.artemis.annotations.Wire; import net.mostlyoriginal.game.component.CastleBlock; import net.mostlyoriginal.game.system.CastleSystem; /** * Keeps track of who lives where in the castle. * * @author Daan van Yperen */ @Wire public class ServantManager extends Manager { public boolean castleDirty = true; EntityFactorySystem entityFactorySystem; ComponentMapper<CastleBlock> cm; private Entity[][] actor= new Entity[CastleSystem.H][CastleSystem.W]; public void servantLostHome(int x, int y) { if ( actor[y][x] != null ) { actor[y][x].deleteFromWorld(); actor[y][x] = null; } } public void createServant(int x, int y, CastleBlock.Type type) { Entity entity = null; switch ( type ) { case EMPTY: break; case TOWER: entity = entityFactorySystem.createEntity("mage", 0, entityFactorySystem.SERVANT_Y); break; case WALL: break; case BARRACKS: entity = entityFactorySystem.createEntity("knight", 0, entityFactorySystem.SERVANT_Y); break; case SPELUNKER: entity = entityFactorySystem.createEntity("spelunker", 0, entityFactorySystem.SERVANT_Y); break; } if ( entity != null ) { actor[y][x] = entity; } } }