コード例 #1
0
    public int GetMaxCount()
    {
        //lz-2016.10.13 错误 #3912 空对象
        if (null == rootNode || null == rootNode.ms)
        {
            return(1);
        }

        Pathea.Replicator replicator = GetReplicator();
        if (null == replicator)
        {
            return(rootNode.ms.m_productItemCount);
        }

        //lz-2016.08.10 MaxProductCount材料最多可以支持造多少组Product,这里还要乘上这组Product的数量
        int count = replicator.MaxProductCount(rootNode.ms.id) * rootNode.ms.m_productItemCount;

        int stackNum = ItemAsset.ItemProto.GetStackMax(rootNode.GetItemID());

        //lz-2016.08.03 蒲及说如果合成的物品堆叠数为1限制最大数量为一个常数个
        if (stackNum == 1)
        {
            count = Mathf.Min(count, ColonyConst.FACTORY_COMPOUND_GRID_COUNT);
        }
        else
        {
            //lz-2016.08.03 堆叠数大于1的限制最多制造数为 一个常数个*堆叠数
            count = Mathf.Min(count, ColonyConst.FACTORY_COMPOUND_GRID_COUNT * stackNum);
        }

        return(0 == count ? 1 : count);
    }
コード例 #2
0
    public bool isCanCreate( )
    {
        if (mGraphItemList.Count == 0)
        {
            return(false);
        }

        Pathea.Replicator r = GetReplicator();
        if (null == r)
        {
            return(false);
        }

        Pathea.Replicator.Formula formula = Pathea.Replicator.Formula.Mgr.Instance.Find(rootNode.ms.id);
        if (null == formula)
        {
            return(false);
        }

        ItemAsset.ItemProto proto = ItemAsset.ItemProto.GetItemData(formula.productItemId);
        if (proto != null)
        {
            if (!GameUI.Instance.mSkillWndCtrl._SkillMgr.CheckUnlockProductItemLevel(proto.level))
            {
                return(false);
            }
            if (!GameUI.Instance.mSkillWndCtrl._SkillMgr.CheckUnlockProductItemType(proto.itemClassId))
            {
                return(false);
            }
        }
        else
        {
            return(false);
        }

        if (r.MaxProductCount(rootNode.ms.id) < (rootNode.getCount / rootNode.ms.m_productItemCount))
        {
            return(false);
        }
        return(true);
    }