示例#1
0
        public List <CEquipItem> GetItemListByClothType(ItemCloth_Type clothType)
        {
            List <CEquipItem> listItem = new List <CEquipItem>();

            CItemBase  item      = null;
            CEquipItem equipItem = null;

            for (Item_Column column = 0; column < Item_Column.ItemBagColumn_Storage + 1; ++column)
            {
                List <CItemBase> itemBaseList = GetItemList(column);
                if (itemBaseList != null && itemBaseList.Count > 0)
                {
                    int baseCount = itemBaseList.Count;
                    for (int i = 0; i < baseCount; ++i)
                    {
                        item = itemBaseList[i];
                        if (item != null && item.IsEquip())
                        {
                            equipItem = item as CEquipItem;
                            if (equipItem != null)
                            {
                                if (equipItem.GetClothPos() == (byte)clothType)
                                {
                                    listItem.Add(equipItem);
                                }
                            }
                        }
                    }
                }
            }

            return(listItem);
        }
示例#2
0
        //the equiped items of main player will not be serialized in separate array, use the flag IsEquiped to check
        public override void UpdateItem(Item_Column column, ushort grid, CItemBase itemBase)
        {
            if (column == Item_Column.ItemBagColumn_ClothCapsule)
            {
                CEquipItem oldEquip = (CEquipItem)m_AllItem[(int)column][grid];
                base.UpdateItem(column, grid, itemBase);

                if (oldEquip != null && oldEquip.IsEquiped)
                {
                    m_AllItem[(int)Item_Column.ItemPlayerColumn_ClothCapsule][oldEquip.GetClothPos()] = null;
                }

                CEquipItem newEquip = itemBase as CEquipItem;
                if (newEquip != null && newEquip.IsEquiped)
                {
                    m_AllItem[(int)Item_Column.ItemPlayerColumn_ClothCapsule][newEquip.GetClothPos()] = newEquip;
                }
            }
            else
            {
                base.UpdateItem(column, grid, itemBase);
                CheckNeedArrangeItem();
            }
        }