public override int ProcessCUnequipement(CUnequipement protocol) { Login.Session session = Login.Session.Get(protocol); BEquips equips = _tequip.GetOrAdd(session.LoginRoleId.Value); if (equips.Items.TryGetValue(protocol.Argument.EquipPos, out var eItem)) { equips.Items.Remove(protocol.Argument.EquipPos); Bag.Bag bag = App.Instance.Game_Bag.GetBag(session.LoginRoleId.Value); Bag.BItem bItemAdd = new Bag.BItem() { Id = eItem.Id, Number = 1, Extra_Game_Equip_BEquipExtra = (BEquipExtra)eItem.Extra.CopyBean() }; if (0 != bag.Add(-1, bItemAdd)) { return(Zeze.Transaction.Procedure.LogicError); // bag is full } return(Zeze.Transaction.Procedure.Success); } return(Zeze.Transaction.Procedure.LogicError); }
public override int ProcessUnequipementRequest(Unequipement rpc) { Login.Session session = Login.Session.Get(rpc); BEquips equips = _tequip.GetOrAdd(session.RoleId.Value); if (equips.Items.TryGetValue(rpc.Argument.EquipPos, out var eItem)) { equips.Items.Remove(rpc.Argument.EquipPos); Bag.Bag bag = App.Instance.Game_Bag.GetBag(session.RoleId.Value); Bag.BItem bItemAdd = new Bag.BItem() { Id = eItem.Id, Number = 1, Extra_Game_Equip_BEquipExtra = (BEquipExtra)eItem.Extra.CopyBean() }; if (0 != bag.Add(-1, bItemAdd)) { return(ReturnCode(ResultCodeBagIsFull)); // bag is full } session.SendResponse(rpc); return(Procedure.Success); } return(ReturnCode(ResultCodeEquipNotFound)); }