mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-03 04:36:03 +08:00
31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using EggLink.DanhengServer.Data;
|
|
using EggLink.DanhengServer.GameServer.Game.Player;
|
|
using EggLink.DanhengServer.Kcp;
|
|
using EggLink.DanhengServer.Proto;
|
|
|
|
namespace EggLink.DanhengServer.GameServer.Server.Packet.Send.StoryLine;
|
|
|
|
public class PacketStoryLineInfoScNotify : BasePacket
|
|
{
|
|
public PacketStoryLineInfoScNotify(PlayerInstance player) : base(CmdIds.StoryLineInfoScNotify)
|
|
{
|
|
var storyLineIdList =
|
|
player.StoryLineManager?.StoryLineData.RunningStoryLines.Keys.Select(x => (uint)x).ToList() ?? [];
|
|
storyLineIdList.Insert(0, 0);
|
|
|
|
var proto = new StoryLineInfoScNotify
|
|
{
|
|
CurStoryLineId = (uint)(player.StoryLineManager?.StoryLineData.CurStoryLineId ?? 0),
|
|
UnfinishedStoryLineIdList = { storyLineIdList }
|
|
};
|
|
|
|
if (!proto.UnfinishedStoryLineIdList.Contains(proto.CurStoryLineId))
|
|
proto.UnfinishedStoryLineIdList.Add(proto.CurStoryLineId);
|
|
|
|
GameData.StroyLineTrialAvatarDataData.TryGetValue(player.StoryLineManager!.StoryLineData.CurStoryLineId,
|
|
out var storyExcel);
|
|
if (storyExcel != null) proto.TrialAvatarIdList.AddRange(storyExcel.InitTrialAvatarList.Select(x => (uint)x));
|
|
|
|
SetData(proto);
|
|
}
|
|
} |