예제 #1
0
파일: ModuleEquip.cs 프로젝트: e2wugui/zeze
        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);
        }
예제 #2
0
파일: ModuleEquip.cs 프로젝트: e2wugui/zeze
        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));
        }