XtGameKit/Packages/cn.xt.bag/Scripts/Hotfix/Client/Item_ItemInfoListHandler.cs

22 lines
753 B
C#

namespace ET.Client
{
[MessageHandler(SceneType.Main)]
[FriendOf(typeof(BagComponent))]
public class Item_ItemInfoListHandler : MessageHandler<Scene, Item_ItemInfoList>
{
protected override async ETTask Run(Scene scene, Item_ItemInfoList message)
{
BagComponent comp = scene.GetComponent<BagComponent>() ?? scene.AddComponent<BagComponent>();
comp.ItemMap.Clear();
comp.NewItemSet.Clear();
foreach (ItemInfo item in message.items)
{
comp.ItemMap[item.itemIndex] = item;
}
EventSystem.Instance.Publish(scene, new BagUpdatedEvent { Count = message.items.Count });
await ETTask.CompletedTask;
}
}
}