Files
MikuSB/GameServer/Game/Lineup/LineupManager.cs
Naruse 4bf3f0d715 refactor manager & add giveall command
- giveall only weapon for now
- move all item into SyncPlayer to prevent RspLogin too large
2026-04-27 14:33:25 +08:00

32 lines
1.0 KiB
C#

using MikuSB.Database;
using MikuSB.Database.Lineup;
using MikuSB.GameServer.Game.Player;
using MikuSB.GameServer.Server.Packet.Send.Lineup;
namespace MikuSB.GameServer.Game.Lineup;
public class LineupManager(PlayerInstance player) : BasePlayerManager(player)
{
public LineupData LineupData { get; } = DatabaseHelper.GetInstanceOrCreateNew<LineupData>(player.Uid);
public async ValueTask<LineupDataInfo?> UpdateLineup(int lineupId, uint member1, uint member2, uint member3, bool sendPacket = true)
{
if (!LineupData.LineupInfo.TryGetValue(lineupId, out var formation))
{
formation = new LineupDataInfo
{
Index = (uint)lineupId,
Name = lineupId.ToString()
};
LineupData.LineupInfo[lineupId] = formation;
}
formation.Member1 = member1;
formation.Member2 = member2;
formation.Member3 = member3;
if (sendPacket) await Player.SendPacket(new PacketNtfSyncLineup(formation));
return formation;
}
}