mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 10:44:36 +01:00
Implement event screen
This commit is contained in:
@@ -30,6 +30,7 @@ public class GameData {
|
||||
@Getter private static Int2ObjectMap<ShopExcel> shopExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<RewardExcel> rewardExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<ItemComposeExcel> itemComposeExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<ActivityPanelExcel> activityPanelExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
@Getter private static Int2ObjectMap<ChallengeGroupExcel> challengeGroupExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<ChallengeExcel> challengeExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.lunarcore.data.excel;
|
||||
|
||||
import emu.lunarcore.data.GameResource;
|
||||
import emu.lunarcore.data.ResourceType;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = {"ActivityPanel.json"})
|
||||
public class ActivityPanelExcel extends GameResource {
|
||||
private int PanelID;
|
||||
private int Type;
|
||||
private int ActivityModuleID;
|
||||
private boolean IsResidentPanel;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return PanelID;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.lunarcore.server.packet.recv;
|
||||
|
||||
import emu.lunarcore.server.game.GameSession;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
import emu.lunarcore.server.packet.Opcodes;
|
||||
import emu.lunarcore.server.packet.PacketHandler;
|
||||
import emu.lunarcore.server.packet.send.PacketGetActivityScheduleConfigScRsp;
|
||||
|
||||
@Opcodes(CmdId.GetActivityScheduleConfigCsReq)
|
||||
public class HandlerGetActivityScheduleConfigCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] data) throws Exception {
|
||||
session.send(new PacketGetActivityScheduleConfigScRsp());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.data.GameData;
|
||||
import emu.lunarcore.proto.ActivityScheduleInfoOuterClass.ActivityScheduleInfo;
|
||||
import emu.lunarcore.proto.GetActivityScheduleConfigScRspOuterClass.GetActivityScheduleConfigScRsp;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
public class PacketGetActivityScheduleConfigScRsp extends BasePacket {
|
||||
|
||||
public PacketGetActivityScheduleConfigScRsp() {
|
||||
super(CmdId.GetActivityScheduleConfigScRsp);
|
||||
|
||||
var data = GetActivityScheduleConfigScRsp.newInstance();
|
||||
|
||||
for (var activity : GameData.getActivityPanelExcelMap().values()) {
|
||||
if (activity.getType() != 5) continue;
|
||||
|
||||
var info = ActivityScheduleInfo.newInstance()
|
||||
.setActivityId(activity.getPanelID())
|
||||
.setModuleId(activity.getActivityModuleID())
|
||||
.setBeginTime(0)
|
||||
.setEndTime(Integer.MAX_VALUE);
|
||||
|
||||
data.addActivityScheduleList(info);
|
||||
}
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user