mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 09:25:06 +01:00
Implement dungeon entry
This commit is contained in:
@@ -61,6 +61,7 @@ public class GameData {
|
||||
private static final Int2ObjectMap<FetterCharacterCardData> fetterCharacterCardDataMap = new Int2ObjectOpenHashMap<>();
|
||||
private static final Int2ObjectMap<RewardData> rewardDataMap = new Int2ObjectOpenHashMap<>();
|
||||
private static final Int2ObjectMap<WorldLevelData> worldLevelDataMap = new Int2ObjectOpenHashMap<>();
|
||||
private static final Int2ObjectMap<DungeonData> dungeonDataMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
// Cache
|
||||
private static Map<Integer, List<Integer>> fetters = new HashMap<>();
|
||||
@@ -97,6 +98,11 @@ public class GameData {
|
||||
public static Map<String, ScenePointEntry> getScenePointEntries() {
|
||||
return scenePointEntries;
|
||||
}
|
||||
|
||||
// TODO optimize
|
||||
public static ScenePointEntry getScenePointEntryById(int sceneId, int pointId) {
|
||||
return getScenePointEntries().get(sceneId + "_" + pointId);
|
||||
}
|
||||
|
||||
public static Int2ObjectMap<AvatarData> getAvatarDataMap() {
|
||||
return avatarDataMap;
|
||||
@@ -265,4 +271,8 @@ public class GameData {
|
||||
public static Int2ObjectMap<WorldLevelData> getWorldLevelDataMap() {
|
||||
return worldLevelDataMap;
|
||||
}
|
||||
|
||||
public static Int2ObjectMap<DungeonData> getDungeonDataMap() {
|
||||
return dungeonDataMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,6 +164,7 @@ public class ResourceLoader {
|
||||
|
||||
for (Map.Entry<String, JsonElement> entry : config.points.entrySet()) {
|
||||
PointData pointData = Grasscutter.getGsonFactory().fromJson(entry.getValue(), PointData.class);
|
||||
pointData.setId(Integer.parseInt(entry.getKey()));
|
||||
|
||||
ScenePointEntry sl = new ScenePointEntry(sceneId + "_" + entry.getKey(), pointData);
|
||||
scenePointList.add(sl);
|
||||
|
||||
@@ -1,43 +1,30 @@
|
||||
package emu.grasscutter.data.common;
|
||||
|
||||
public class PointData {
|
||||
private pos tranPos;
|
||||
import emu.grasscutter.utils.Position;
|
||||
|
||||
public pos getTranPos() {
|
||||
public class PointData {
|
||||
private int id;
|
||||
private String $type;
|
||||
private Position tranPos;
|
||||
private int[] dungeonIds;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return $type;
|
||||
}
|
||||
|
||||
public Position getTranPos() {
|
||||
return tranPos;
|
||||
}
|
||||
|
||||
public void setTranPos(pos tranPos) {
|
||||
this.tranPos = tranPos;
|
||||
}
|
||||
|
||||
public class pos {
|
||||
private float x;
|
||||
private float y;
|
||||
private float z;
|
||||
|
||||
public float getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
public void setX(float x) {
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
public float getY() {
|
||||
return y;
|
||||
}
|
||||
|
||||
public void setY(float y) {
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public float getZ() {
|
||||
return z;
|
||||
}
|
||||
|
||||
public void setZ(float z) {
|
||||
this.z = z;
|
||||
}
|
||||
}
|
||||
public int[] getDungeonIds() {
|
||||
return dungeonIds;
|
||||
}
|
||||
}
|
||||
|
||||
28
src/main/java/emu/grasscutter/data/def/DungeonData.java
Normal file
28
src/main/java/emu/grasscutter/data/def/DungeonData.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package emu.grasscutter.data.def;
|
||||
|
||||
import emu.grasscutter.data.GameData;
|
||||
import emu.grasscutter.data.GameResource;
|
||||
import emu.grasscutter.data.ResourceType;
|
||||
|
||||
import emu.grasscutter.game.props.SceneType;
|
||||
|
||||
@ResourceType(name = "DungeonExcelConfigData.json")
|
||||
public class DungeonData extends GameResource {
|
||||
private int Id;
|
||||
private int SceneId;
|
||||
private String InvolveType; // TODO enum
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return this.Id;
|
||||
}
|
||||
|
||||
public int getSceneId() {
|
||||
return SceneId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,9 @@ import emu.grasscutter.game.props.SceneType;
|
||||
@ResourceType(name = "SceneExcelConfigData.json")
|
||||
public class SceneData extends GameResource {
|
||||
private int Id;
|
||||
private SceneType SceneType;
|
||||
private SceneType Type;
|
||||
private String ScriptData;
|
||||
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
@@ -18,7 +19,7 @@ public class SceneData extends GameResource {
|
||||
}
|
||||
|
||||
public SceneType getSceneType() {
|
||||
return SceneType;
|
||||
return Type;
|
||||
}
|
||||
|
||||
public String getScriptData() {
|
||||
@@ -27,6 +28,6 @@ public class SceneData extends GameResource {
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user