void UpdateEnchanseSelectedEquip() { ClearEnchanseSelected(); if (mSelectedItem != null) { mEnchanseSelectedAction.SetActionItem(mSelectedItem.GetID()); CObject_Item_Equip equip = mSelectedItem as CObject_Item_Equip; if (equip != null) { int gemCount = equip.GetGemCount(); for (int i = 0; i < gemCount; i++) { int nIdTable = equip.GetGemTableId(i); if (nIdTable != 0) { CObject_Item gemItem = ObjectSystem.Instance.NewItem((uint)nIdTable); CActionItem action = CActionSystem.Instance.GetAction_ItemID(gemItem.GetID(), false); mEnchanseGemInfo[i].enchanseGem.SetActionItemByActionId(action.GetID()); } } } } UpdateEnchanseGemStates(); }
bool InsertGem(CObject_Item_Gem gem, CObject_Item_Equip equip) { for (int i = 0; i < GAMEDEFINE.MAX_ITEM_GEM; i++) { if (mEnchanseGemInfo[i].bFlag == 1) { CObject_Item_Gem gemold = CDataPool.Instance.UserBag_GetItemById(mEnchanseGemInfo[i].nGemType) as CObject_Item_Gem; if (gemold != null && gem.GetItemTableType() == gemold.GetItemTableType()) { return(false); } } if (mEnchanseGemInfo[i].bFlag == 0) { //当前没有宝石 if (equip.GetGemTableId(i) == 0) { byte oldFlag = 2; int index = equip.IsGemmy(gem.GetItemTableType()); if (index >= 0) { oldFlag = mEnchanseGemInfo[index].bFlag; } if (oldFlag == 2) { mEnchanseGemInfo[i].nGemType = gem.GetID(); mEnchanseGemInfo[i].bFlag = 1; return(true); } } } } return(false); }
// // 通过编号去查该配方,共需要几个材料 // INT GetPrescr_Material_Number(INT nPrescrID); // INT GetPrescrMaterialNumberNew(INT nPrescrID); // // 通过材料的编号,查询材料的详细信息,返回图标和名称。 // Lua_ICON_INFO GetPrescr_Material(INT nItemID); // // 通过序号去查第几个配方的编号 // INT GetPrescrList_Item_FromNum(INT nIndex); // INT GetPrescrList_Item_FromNum(INT nIndex, INT nLifeAbility); // // 计算身上原料总共可以合成多少个这个配方。 // INT GetPrescr_Item_Maximum(INT nIndex); // INT GetPrescrItemMaximumNew(INT nIndex, INT nMaterial);// [10/8/2011 Sun] // string GetPrescription_Kind(INT nPrescrKind); // // 计算原料数量。 // INT GetPrescr_Material_Hold_Count(INT nIndex,INT nMaterial); // INT GetPrescrMaterialCountInPackage(INT nIndex, INT nMaterial);// 根据新需求 [10/8/2011 Sun] // // 刷新合成界面 // INT Update_Synthesize( INT nAbility ); // // 打开宝石合成/镶嵌界面 // INT Open_Compose_Gem_Page( INT nPage ); // // 开始镶嵌 // INT Do_Enchase( INT nIndexEquip, INT nIndexGem, INT nIndexMat1 = -1, INT nIndexMat2 = -1 ); // // 开始合成 // INT Do_Combine(INT nIndexGem1, INT nIndexGem2, INT nIndexGem3, INT nIndexGem4, INT nIndexGem5, INT nIndexGem6 ); // // 宝石摘除 [7/16/2011 ivan edit] // INT Do_SeparateGem(INT nIndexEquip, INT nIndexGem, INT nIndexMat); // // 返回装备上,第i颗宝石的图标信息 // string GetEquip_Gem( INT nIndexEquip , UINT nIndexGem ); // 获取装备上的宝石数据 [7/16/2011 ivan edit] public string GetEquipGemInfo(CObject_Item_Equip equip, int nIndexGem, string dataType) { if (equip == null) { return(""); } int nGemType = equip.GetGemTableId(nIndexGem); _DBC_ITEM_GEM pGem = ObjectSystem.GemDBC.Search_Index_EQU(nGemType); if (pGem == null) { return(""); } string gemData = ""; if (dataType == "icon") { gemData = pGem.szIcon; } else if (dataType == "level") { gemData = pGem.nQuality.ToString(); } else if (dataType == "type") { gemData = pGem.nType.ToString(); } else if (dataType == "id") { gemData = pGem.nID.ToString(); } else if (dataType == "name") { gemData = pGem.szName; } else if (dataType == "attribute") { equip.GetGemExtAttr(nIndexGem, ref gemData); } return(gemData); }