Implement event screen

This commit is contained in:
Melledy
2023-11-23 02:29:00 -08:00
parent 65ffd2ba8b
commit 9505f9e37f
6 changed files with 951 additions and 0 deletions

View File

@@ -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<>();

View File

@@ -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;
}
}

View File

@@ -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());
}
}

View File

@@ -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);
}
}