Refactor game server managers to systems

This commit is contained in:
Melledy
2022-07-18 22:47:38 -07:00
parent d20e9d1f72
commit 2e19e70fe1
63 changed files with 254 additions and 264 deletions

View File

@@ -399,7 +399,7 @@ public class Scene {
// Reward drop
if (target instanceof EntityMonster && this.getSceneType() != SceneType.SCENE_DUNGEON) {
getWorld().getServer().getDropManager().callDrop((EntityMonster) target);
getWorld().getServer().getDropSystem().callDrop((EntityMonster) target);
}
this.removeEntity(target);

View File

@@ -14,6 +14,7 @@ import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.proto.InvestigationMonsterOuterClass;
import emu.grasscutter.scripts.data.SceneGroup;
import emu.grasscutter.scripts.data.SceneMonster;
import emu.grasscutter.server.game.BaseGameSystem;
import emu.grasscutter.server.game.GameServer;
import java.io.InputStream;
@@ -24,13 +25,12 @@ import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
public class WorldDataManager {
private final GameServer gameServer;
public class WorldDataSystem extends BaseGameSystem {
private final Map<String, ChestInteractHandler> chestInteractHandlerMap; // chestType-Handler
private final Map<String, SceneGroup> sceneInvestigationGroupMap; // <sceneId_groupId, Group>
public WorldDataManager(GameServer gameServer){
this.gameServer = gameServer;
public WorldDataSystem(GameServer server){
super(server);
this.chestInteractHandlerMap = new HashMap<>();
this.sceneInvestigationGroupMap = new ConcurrentHashMap<>();