public static tagItem Create(uint dwTypeID, Int16 nNum, EItemQuality eQuality, int nCmd) { if (nNum <= 0) { return(null); } tagItem pRet = null; if (MIsEquipment(dwTypeID)) { pRet = new tagEquip(); pRet.dwTypeID = dwTypeID; } else { pRet = new tagItem(); pRet.dwTypeID = dwTypeID; } // 64 bit id Int64 nSerial = CreateItemSerial(); InitItem(pRet, nSerial, nNum); return(pRet); }
public CItem(tagItem data) { m_data = data; CProtoManager.inst.m_mapItem.TryGetValue(m_data.dwTypeID, out m_pProto); if (m_pProto == null) { Common.DEBUG_MSG("tagIteProto's proto not find " + m_data.dwTypeID); } }
public bool AddItem2Bag(uint dwTypeID, Int16 nNum, EItemQuality eQ, int nCmd) { if (m_pPocket.IsFull()) { return(false); } CItem pNewItem = null; Int16 nBagSpace = (Int16)CalSpaceUsed(dwTypeID, nNum); // check bag free grid is enongh int nFreeSpace = m_pPocket.GetFreeSpaceSize(); if (nFreeSpace < nBagSpace - 1) { return(false); } for (int i = 0; i < nBagSpace; i++) { tagItem pNew = ItemCreator.Create(dwTypeID, nNum, EItemQuality.EIQ_White, 0); if (pNew != null) { if (ItemCreator.MIsEquipment(dwTypeID)) { pNewItem = new CEquipment((tagEquip)pNew); } else { pNewItem = new CItem(pNew); } } if (pNewItem != null) { AddItem(m_pPocket, pNewItem, nNum); } } return(true); }
public static tagItem Create(tagItem item, Int16 nNum) { if (nNum <= 0) { return(null); } tagItem pNewItem = null; if (MIsEquipment(item.dwTypeID)) { pNewItem = new tagEquip(); pNewItem = item; } else { pNewItem = new tagItem(); pNewItem = item; } pNewItem.n64Serial = CreateItemSerial(); return(pNewItem); }
public static void InitItem(tagItem item, Int64 n64Serial, Int16 nNum) { item.n64Serial = n64Serial; item.n16Num = nNum; }