Multi-threaded resource loading

This commit is contained in:
KingRainbow44
2023-05-18 03:56:38 -04:00
parent 48959d54c5
commit b6b9d3d744
15 changed files with 282 additions and 179 deletions

View File

@@ -2,6 +2,7 @@ package emu.grasscutter.game.systems;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.DataLoader;
import emu.grasscutter.data.ResourceLoader;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.World;
import emu.grasscutter.net.proto.AnnounceDataOuterClass;
@@ -10,12 +11,13 @@ import emu.grasscutter.server.game.GameServer;
import emu.grasscutter.server.packet.send.PacketServerAnnounceNotify;
import emu.grasscutter.server.packet.send.PacketServerAnnounceRevokeNotify;
import emu.grasscutter.utils.Utils;
import java.util.*;
import lombok.AccessLevel;
import lombok.Data;
import lombok.Getter;
import lombok.experimental.FieldDefaults;
import java.util.*;
@Getter
public class AnnouncementSystem extends BaseGameSystem {
private final Map<Integer, AnnounceConfigItem> announceConfigItemMap;
@@ -23,7 +25,7 @@ public class AnnouncementSystem extends BaseGameSystem {
public AnnouncementSystem(GameServer server) {
super(server);
this.announceConfigItemMap = new HashMap<>();
loadConfig();
ResourceLoader.runAsync(this::loadConfig);
}
private int loadConfig() {