package emu.grasscutter.data.common; import com.google.gson.annotations.SerializedName; import emu.grasscutter.Grasscutter; import emu.grasscutter.data.GameData; import emu.grasscutter.data.excels.DailyDungeonData; import emu.grasscutter.utils.Position; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntList; public class PointData { private int id; private String $type; private Position tranPos; @SerializedName(value="dungeonIds", alternate={"JHHFPGJNMIN"}) private int[] dungeonIds; @SerializedName(value="dungeonRandomList", alternate={"OIBKFJNBLHO"}) private int[] dungeonRandomList; @SerializedName(value="tranSceneId", alternate={"JHBICGBAPIH"}) private int tranSceneId; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getType() { return $type; } public Position getTranPos() { return tranPos; } public int[] getDungeonIds() { return dungeonIds; } public int[] getDungeonRandomList() { return dungeonRandomList; } public int getTranSceneId() { return tranSceneId; } public void setTranSceneId(int tranSceneId) { this.tranSceneId = tranSceneId; } public void updateDailyDungeon() { if (getDungeonRandomList() == null || getDungeonRandomList().length == 0) { return; } IntList newDungeons = new IntArrayList(); int day = Grasscutter.getCurrentDayOfWeek(); for (int randomId : getDungeonRandomList()) { DailyDungeonData data = GameData.getDailyDungeonDataMap().get(randomId); if (data != null) { int[] addDungeons = data.getDungeonsByDay(day); for (int d : addDungeons) { newDungeons.add(d); } } } this.dungeonIds = newDungeons.toIntArray(); } }