コード例 #1
0
 public bool RemoveItem(int codedIndex, bool isMissionPkg = false)
 {
     if (isMissionPkg)
     {
         return(_missionPak.RemoveItem(codedIndex));
     }
     return(_playerPak.RemoveItem(codedIndex));
 }
コード例 #2
0
    void RPC_S2C_STO_FetchItem(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        int        objId   = stream.Read <int>();
        bool       suc     = stream.Read <bool>();
        ItemObject itemObj = ItemMgr.Instance.Get(objId);

        if (itemObj == null)
        {
            return;
        }
        if (suc)
        {
            //1.data
            CSStorageData recordData = (CSStorageData)_ColonyObj._RecordData;

            foreach (var kvp in recordData.m_Items)
            {
                if (kvp.Value == objId)
                {
                    recordData.m_Items.Remove(kvp.Key);


                    ItemPackage m_Package = ((CSStorage)m_Entity).m_Package;
                    //int listCnt = m_Package.GetItemList(0).Count;
                    //index = kvp.Key % listCnt;
                    //m_Package.GetItemList(itemObj.mItemData.mTabIndex)[index] = null;

                    m_Package.RemoveItem(itemObj);

                    break;
                }
            }
        }
        //2.ui
        if (CSUI_MainWndCtrl.Instance.StorageUI != null && CSUI_MainWndCtrl.Instance.StorageUI.StorageMainUI != null)
        {
            CSUI_MainWndCtrl.Instance.StorageUI.StorageMainUI.CSStoreResultFetch(suc, objId, (CSStorage)m_Entity);
        }
    }
コード例 #3
0
    public void SetMedicineItem(ItemPackage _ip, bool _isMis, int _tabIndex, int _index, int _instanceId, bool _inorout)
    {
        //if(_inorout){
        //    ItemObject item = ItemMgr.Instance.Get(_instanceId);
        //    if(treatmentInUse!=null&&treatmentInUse.medicineList[0].protoId!=item.protoId){
        //        return;
        //    }
        //}
        if (!IsRunning)
        {
            return;
        }

        if (PeGameMgr.IsMulti)
        {
            _ColonyObj._Network.RPCServer(EPacketType.PT_CL_TRT_SetItem, _isMis, _instanceId, _inorout, _tabIndex, _index);
        }
        else
        {
            if (_inorout)
            {
                ItemObject item = ItemMgr.Instance.Get(_instanceId);
                if (medicineItem != null)
                {
                    //exchange item
                    ItemObject itemToPackage = medicineItem;
                    medicineItem = item;
                    //exchange from package
                    _ip.PutItem(itemToPackage, _index, (ItemPackage.ESlotType)_tabIndex);
                }
                else
                {
                    //setitem
                    medicineItem = item;
                    //remove from package
                    _ip.RemoveItem(item);
                }
            }
            else
            {
                //add to package
                _ip.PutItem(medicineItem, _index, (ItemPackage.ESlotType)_tabIndex);
                //set item
                medicineItem = null;
            }

            //update data
            if (medicineItem != null)
            {
                Data.m_ObjID = medicineItem.instanceId;
            }
            else
            {
                Data.m_ObjID = -1;
            }

            //update UI
            SetMedicineIcon(medicineItem, _inorout);
            ResetMissionItem(_isMis);
        }
    }
コード例 #4
0
ファイル: CSStorage.cs プロジェクト: shrubba/planetexplorers
    public void Remove(ItemObject item)
    {
        m_Package.RemoveItem(item);

        ExcuteEvent(CSConst.eetStorage_PackageRemoveItem, item);
    }