using System; using System.Collections.Generic; using Cal; namespace ET { [ActorMessageHandler] public class C2M_GetStarSoulBagHandler: AMActorLocationRpcHandler { protected override async ETTask Run(Unit unit, C2M_GetStarSoulBag request, M2C_GetStarSoulBag response, Action reply) { StarSoulBag bag = unit.GetComponent(); foreach (var kv in bag.itemDic) { try { StarSoulNetItem netItem = new(); StarSoulItem item = kv.Value; netItem.Id = item.Id; netItem.level = item.level; netItem.exp = item.exp; netItem.quality = (int) item.quality; netItem.posType = (int) item.posType; netItem.typeId = item.typeId; netItem.isUsed = item.isUsed; netItem.main = item.mainId; netItem.isLocked = item.isLocked; foreach (int id in item.viceIds) { netItem.vice.Add(id); }foreach (float id in item.viceAdd) { netItem.viceAdd.Add(id); } response.itemList.Add(netItem); } catch (Exception e) { Log.Error(e); } } response.usedIdMap.AddRange(bag.usedStarSoulDic.Values); foreach (StarSoulSuit starSoulSuit in bag.Suits) { response.suitKVs.Add(new KV_int32_int32() { key = starSoulSuit.Id, value = (int) starSoulSuit.type }); } reply(); await ETTask.CompletedTask; } } }