namespace ET.Client { [MessageHandler(SceneType.Main)] [FriendOf(typeof(BagComponent))] public class Item_ItemInfoListHandler : MessageHandler { protected override async ETTask Run(Scene scene, Item_ItemInfoList message) { BagComponent comp = scene.GetComponent() ?? scene.AddComponent(); 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; } } }