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); }
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); }