提交背包获取协议

This commit is contained in:
2025-10-14 17:58:38 +08:00
parent 4a97265d43
commit aa9e7d72f4
8 changed files with 132 additions and 55 deletions

View File

@@ -9,6 +9,9 @@ public class C2Game_GetItemsRequestHandler : RouteRPC<Player, C2Game_GetItemsReq
protected override async FTask Run(Player entity, C2Game_GetItemsRequest request, Game2C_GetItemsResponse response,
Action reply)
{
var itemContainer = entity.GetComponent<PlayerItemContainerComponent>();
response.Items = itemContainer.GetItemInfos();
response.Rigs = itemContainer.GetRigInfos();
await FTask.CompletedTask;
}
}

View File

@@ -23,7 +23,7 @@ public static class ItemSystem
return new ItemInfo()
{
Id = self.Id,
ConfigId = self.Count,
ConfigId = self.ConfigId,
Count = self.Count,
ExpirationTime = self.ExpirationTime,
GetTime = self.GetTime,

View File

@@ -136,7 +136,7 @@ public static class PlayerItemContainerComponentSystem
public static List<ItemInfo> GetItemInfos(this PlayerItemContainerComponent self)
{
List<ItemInfo> ret = new List<ItemInfo>();
List<ItemInfo> ret = new List<ItemInfo>(self.Items.Count);
foreach (var (_, item) in self.Items)
{
ret.Add(item.ToItemInfo());
@@ -145,20 +145,34 @@ public static class PlayerItemContainerComponentSystem
return ret;
}
public static List<GearInfo> GetGearInfos(this PlayerItemContainerComponent self)
// public static List<GearInfo> GetGearInfos(this PlayerItemContainerComponent self)
// {
// List<GearInfo> ret = new List<GearInfo>(self.FishingRig.Count);
//
// foreach (var (rod, rigs) in self.FishingRig)
// {
// GearInfo gearInfo = new GearInfo();
// gearInfo.Rod = rod;
// gearInfo.Rigs.AddRange(rigs);
// ret.Add(gearInfo);
// }
//
// return ret;
// }
public static List<ItemBindInfo> GetRigInfos(this PlayerItemContainerComponent self)
{
List<GearInfo> ret = new List<GearInfo>();
List<ItemBindInfo> ret = new List<ItemBindInfo>(self.FishingRig.Count);
foreach (var (rod, rigs) in self.FishingRig)
{
GearInfo gearInfo = new GearInfo();
gearInfo.Rod = rod;
gearInfo.Rigs.AddRange(rigs);
ret.Add(gearInfo);
ItemBindInfo gearInfo = new ItemBindInfo();
gearInfo.Item = rod;
gearInfo.BindItems.AddRange(rigs);
}
return ret;
}
#endregion
}