From e4a89346aecb0eccd566f87bed8e52c041d3cedc Mon Sep 17 00:00:00 2001 From: Obique Date: Wed, 29 Aug 2018 18:06:53 -0500 Subject: [PATCH] Cleaned up some AI classes --- .../support/objects/swg/custom/NpcMode.java | 7 ------ .../support/npc/ai/AIMovementService.java | 1 + .../support/npc/ai/AISchedulingService.java | 22 ++++++++----------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/projectswg/holocore/resources/support/objects/swg/custom/NpcMode.java b/src/main/java/com/projectswg/holocore/resources/support/objects/swg/custom/NpcMode.java index d1b437d1a..3fa3f8fd6 100644 --- a/src/main/java/com/projectswg/holocore/resources/support/objects/swg/custom/NpcMode.java +++ b/src/main/java/com/projectswg/holocore/resources/support/objects/swg/custom/NpcMode.java @@ -7,15 +7,12 @@ import com.projectswg.holocore.resources.support.objects.swg.SWGObject; import com.projectswg.holocore.resources.support.objects.swg.creature.CreatureObject; import java.util.Collection; -import java.util.Random; public abstract class NpcMode { - private final Random random; private final AIObject obj; public NpcMode(AIObject obj) { - this.random = new Random(); this.obj = obj; } @@ -74,10 +71,6 @@ public abstract class NpcMode { return obj; } - public final Random getRandom() { - return random; - } - public final Spawner getSpawner() { return obj.getSpawner(); } diff --git a/src/main/java/com/projectswg/holocore/services/support/npc/ai/AIMovementService.java b/src/main/java/com/projectswg/holocore/services/support/npc/ai/AIMovementService.java index ddcc87295..b3b69a0ff 100644 --- a/src/main/java/com/projectswg/holocore/services/support/npc/ai/AIMovementService.java +++ b/src/main/java/com/projectswg/holocore/services/support/npc/ai/AIMovementService.java @@ -9,6 +9,7 @@ import com.projectswg.holocore.resources.support.objects.swg.custom.AIObject; import me.joshlarson.jlcommon.concurrency.ScheduledThreadPool; import me.joshlarson.jlcommon.control.IntentHandler; import me.joshlarson.jlcommon.control.Service; +import me.joshlarson.jlcommon.log.Log; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/projectswg/holocore/services/support/npc/ai/AISchedulingService.java b/src/main/java/com/projectswg/holocore/services/support/npc/ai/AISchedulingService.java index 1e5eb9e1d..507ed9b64 100644 --- a/src/main/java/com/projectswg/holocore/services/support/npc/ai/AISchedulingService.java +++ b/src/main/java/com/projectswg/holocore/services/support/npc/ai/AISchedulingService.java @@ -3,15 +3,14 @@ package com.projectswg.holocore.services.support.npc.ai; import com.projectswg.holocore.intents.support.npc.ai.ScheduleNpcModeIntent; import com.projectswg.holocore.intents.support.npc.ai.StartNpcCombatIntent; import com.projectswg.holocore.resources.support.npc.ai.NpcCombatMode; -import com.projectswg.holocore.resources.support.objects.swg.creature.CreatureObject; import com.projectswg.holocore.resources.support.objects.swg.custom.AIObject; import com.projectswg.holocore.resources.support.objects.swg.custom.NpcMode; import me.joshlarson.jlcommon.control.IntentHandler; import me.joshlarson.jlcommon.control.Service; +import me.joshlarson.jlcommon.log.Log; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -40,8 +39,14 @@ public class AISchedulingService extends Service { @IntentHandler private void handleStartNpcCombatIntent(StartNpcCombatIntent snci) { - AIObject obj = snci.getObject(); - modes.compute(obj, (o, prev) -> computeCombatMode(o, prev, snci.getTargets())); + modes.compute(snci.getObject(), (o, prev) -> { + if (prev instanceof NpcCombatMode) + return prev; + NpcCombatMode mode = new NpcCombatMode(o); + mode.addTargets(snci.getTargets()); + start(o, mode); + return mode; + }); } private void start(@NotNull AIObject obj, @Nullable NpcMode mode) { @@ -60,13 +65,4 @@ public class AISchedulingService extends Service { mode.onModeEnd(); } - private NpcMode computeCombatMode(AIObject obj, NpcMode prev, Collection targets) { - if (prev instanceof NpcCombatMode) - return prev; - NpcCombatMode mode = new NpcCombatMode(obj); - mode.addTargets(targets); - start(obj, mode); - return mode; - } - }