namespace ET.Client { [MessageHandler(SceneType.Main)] [FriendOf(typeof(BagComponent))] public class Item_RemoveItemHandler : MessageHandler { protected override async ETTask Run(Scene scene, Item_RemoveItem message) { BagComponent comp = scene.GetComponent() ?? scene.AddComponent(); comp.ItemMap.Remove(message.itemIndex); comp.NewItemSet.Remove(message.itemIndex); EventSystem.Instance.Publish(scene, new ItemChangedEvent { ItemIndex = message.itemIndex }); await ETTask.CompletedTask; } } }