示例#1
0
 public int AddItem(ItemObject itemObject, bool isNew = false)
 {
     if (itemObject == null)
     {
         return(ItemPackage.InvalidIndex);
     }
     if (itemObject.protoData.category == quest_item)
     {
         return(_missionPak.AddItem(itemObject, isNew));
     }
     else
     {
         return(_playerPak.AddItem(itemObject, isNew));
     }
 }
示例#2
0
    public bool AddItemObj(int instanceId)
    {
        bool       success = false;
        ItemObject item    = ItemMgr.Instance.Get(instanceId);

        if (item != null)
        {
            if (m_Package.CanAdd(item.protoId, 1))
            {
                m_Package.AddItem(item);
                success = true;
            }
        }
        return(success);
    }
示例#3
0
    void OnSplitOkBtn()
    {
        //lz-2016.12.23 Crash bug #7839
        if (m_OpGird == null || null == m_OpGird.Item)
        {
            m_SplitWnd.SetActive(false);
            return;
        }

        m_SplitNumDur = Convert.ToInt32(m_SplitNumLb.text);
        if (m_SplitNumDur <= 0)
        {
            return;
        }
        m_SplitNumDur = Mathf.Clamp(m_SplitNumDur, 1, m_OpGird.Item.GetCount() - 1);


        if (!GameConfig.IsMultiMode)
        {
            ItemObject addItem = ItemMgr.Instance.CreateItem(m_OpGird.Item.protoId); // single
            addItem.IncreaseStackCount((int)m_SplitNumDur - 1);
            m_Package.AddItem(addItem);
            m_OpGird.ItemObj.DecreaseStackCount((int)m_SplitNumDur);
            RestItems();
            m_OpGird = null;

            if (OpStatusEvent != null)
            {
                OpStatusEvent(EEventType.SplitItem, addItem.protoData.GetName(), m_SplitNumDur.ToString());
            }
        }
        else
        {
            if (m_storage != null)
            {
                m_storage._ColonyObj._Network.STO_Split(m_OpGird.ItemObj.instanceId, (int)m_SplitNumDur);
            }
            else
            {
                PlayerNetwork.mainPlayer.RequestPersonalStorageSplit(m_OpGird.ItemObj.instanceId, (int)m_SplitNumDur);
            }
            m_OpGird = null;
        }

        m_SplitWnd.SetActive(false);
    }