Cleaned up CorpseService a bit

This commit is contained in:
Mads Boddum
2016-09-21 17:43:01 +02:00
parent 5d65b781e8
commit bb1a3b84c3
-23
View File
@@ -49,14 +49,10 @@ import utilities.ThreadUtilities;
public final class CorpseService extends Service {
private final ScheduledExecutorService executor;
// TODO Map terrain to all cloning facilities for that terrain
// TODO cloning facilities with factional restrictions
public CorpseService() {
executor = Executors.newSingleThreadScheduledExecutor(ThreadUtilities.newThreadFactory("corpse-service"));
registerForIntent(CreatureKilledIntent.TYPE);
// TODO register for PlayerEventIntent
// TODO register for ObjectCreatedIntent
}
@Override
@@ -69,7 +65,6 @@ public final class CorpseService extends Service {
public void onIntentReceived(Intent i) {
switch(i.getType()) {
case CreatureKilledIntent.TYPE: handleCreatureKilledIntent((CreatureKilledIntent) i); break;
case PlayerEventIntent.TYPE: handlePlayerEventIntent((PlayerEventIntent) i); break;
}
}
@@ -87,24 +82,6 @@ public final class CorpseService extends Service {
}
}
private void handlePlayerEventIntent(PlayerEventIntent i) {
switch(i.getEvent()) {
case PE_DISAPPEAR: handleDisappearedPlayer(i.getPlayer()); break;
}
}
private void handleDisappearedPlayer(Player player) {
CreatureObject disappearedCreature = player.getCreatureObject();
switch(disappearedCreature.getPosture()) {
case DEAD:
// If a player is dead when they disappear, we force them to clone at the nearest facility
// TODO cancel currently scheduled forced clone
// TODO force clone
break;
}
}
/**
* Only used for NPCs!
* @param creatureCorpse non-player creature to delete from the world