using System; using System.Collections.Generic; namespace ET { [ActorMessageHandler] public class C2M_TransLevelHandler : AMActorLocationRpcHandler { protected override async ETTask Run(Unit unit, C2M_TransLevel request, M2C_TransLevel response, Action reply) { try { int trans = unit.GetComponent().GetAsInt(NumericType.Transmigration); if (trans >= ConstDefine.TransMaterialIdArr.Length) { response.Message = "转生达到上限"; reply(); return; } int itemid = ConstDefine.TransMaterialIdArr[trans]; if (!BagHelper.HasItem(unit, itemid, 1)) { response.Message = $"转生需要{BagHelper.GetName(itemid)}"; reply(); return; } BagHelper.DeleteItem(unit, itemid, 1); string ret = await CharacterHelper.Transmigration(unit); if (ret != null) { response.Message = ret; reply(); return; } } catch (Exception e) { Log.Error(e); } reply(); await ETTask.CompletedTask; } } }