public ItemMaterial(ItemParentInstance _instanceData) { this.instanceData = _instanceData; materialInstanceData = _instanceData; LoggerHelper.Debug("id:" + _instanceData.templeId); LoggerHelper.Debug("ItemMaterialData.dataMap:" + ItemMaterialData.dataMap.Count); templateData = ItemMaterialData.dataMap[_instanceData.templeId]; materialTemplateData = (ItemMaterialData)templateData; }
public ItemMaterial(ItemParentInstance _instanceData) { this.instanceData = _instanceData; materialInstanceData = _instanceData; //Debug.Log("ItemMaterial(id=" + _instanceData.templeId+")"); //Debug.Log("ItemMaterialData.dataMap.Count=" + ItemMaterialData.dataMap.Count); templateData = ItemMaterialData.dataMap[_instanceData.templeId]; materialTemplateData = (ItemMaterialData)templateData; }
public ItemMaterial(ItemParentInstance _instanceData) { this.instanceData = _instanceData; materialInstanceData = _instanceData; LoggerHelper.Debug("id:" + _instanceData.templeId); LoggerHelper.Debug("ItemMaterialData.dataMap:" + ItemMaterialData.dataMap.Count); templateData = ItemMaterialData.dataMap[_instanceData.templeId]; materialTemplateData = (ItemMaterialData)templateData; }
private bool CanEnhance(int slot) { int level = myEnhance[slot]; if (!enhanceDataDic[slot].ContainsKey(level + 1)) { Debug.Log("level max"); return(false); } BodyEnhanceData enhanceData = enhanceDataDic[slot][level + 1]; if (MogoWorld.thePlayer.level < enhanceData.characterLevel) { Debug.Log("level isnot enough "); return(false); } if (MogoWorld.thePlayer.gold < enhanceData.gold) { Debug.Log("gold isnot enough "); return(false); } if (enhanceData.material != null) { foreach (KeyValuePair <int, int> pair in enhanceData.material) { ItemMaterialData material = ItemMaterialData.dataMap[pair.Key]; int materialNum = InventoryManager.Instance.GetMaterialNum(pair.Key); if (materialNum < pair.Value) { materialNum = InventoryManager.Instance.GetMaterialAllNum(pair.Key); if (materialNum >= pair.Value) { continue; } else { Debug.Log("材料不够!"); return(false); } } } } return(true); }
private bool CheckEnhanceCondition() { if (m_isEnhancing) { return(false); } int level = myEnhance[CurrentSlot]; if (!enhanceDataDic[CurrentSlot].ContainsKey(level + 1)) { Debug.Log("等级已满!"); OnBodyEnhaUpgResp(ERR_BODY_LEVEL_ALREADY_MAX); return(false); } BodyEnhanceData enhanceData = enhanceDataDic[CurrentSlot][level + 1]; if (MogoWorld.thePlayer.level < enhanceData.characterLevel) { Debug.Log("等级不够!"); OnBodyEnhaUpgResp(ERR_BODY_ENHANCE_LEVEL); return(false); } if (MogoWorld.thePlayer.gold < enhanceData.gold) { Debug.Log("金币不够!"); OnBodyEnhaUpgResp(ERR_BODY_ENHANCE_GOLD_NOT_ENOUGH); return(false); } if (enhanceData.material != null) { bool hasEnoughMaterial = true; bool needToSpendOtherMaterial = false; string msg = string.Empty; List <string> needMaterialNameList = new List <string>(); List <int> needMaterialValueList = new List <int>(); List <string> costMaterialNameList = new List <string>(); List <int> costMaterialValueList = new List <int>(); foreach (KeyValuePair <int, int> pair in enhanceData.material) { ItemMaterialData material = ItemMaterialData.dataMap[pair.Key]; int materialNum = InventoryManager.Instance.GetMaterialNum(pair.Key); if (materialNum < pair.Value) { needToSpendOtherMaterial = true; materialNum = InventoryManager.Instance.GetMaterialAllNum(pair.Key); if (materialNum >= pair.Value) { List <KeyValuePair <int, int> > list = InventoryManager.Instance.GetMaterialList(pair.Key, pair.Value); needMaterialNameList.Add(material.Name); needMaterialValueList.Add(pair.Value); //msg += "\n" + LanguageData.dataMap[458].Format(material.Name, pair.Value); for (int i = 0; i < list.Count; i++) { ItemMaterialData tempMaterial = ItemMaterialData.dataMap[list[i].Key]; costMaterialNameList.Add(tempMaterial.Name); costMaterialValueList.Add(list[i].Value); //msg += "\n" + LanguageData.dataMap[459].Format(tempMaterial.Name, list[i].Value); } } else { hasEnoughMaterial = false; Debug.Log("材料不够!"); OnBodyEnhaUpgResp(ERR_BODY_ENHANCE_MATERIAL_NOT_ENOUGH, pair.Value, material.Name); return(false); } } else { continue; } } if (hasEnoughMaterial && needToSpendOtherMaterial) { msg = LanguageData.dataMap[458].content; for (int i = 0; i < needMaterialNameList.Count; i++) { msg += LanguageData.dataMap[460].Format(needMaterialNameList[i], needMaterialValueList[i]) + ","; } msg += LanguageData.GetContent(459) + "\n"; for (int i = 0; i < costMaterialNameList.Count; i++) { msg += LanguageData.dataMap[460].Format(costMaterialNameList[i], costMaterialValueList[i]) + ",\n"; } MogoGlobleUIManager.Instance.Confirm(msg, (rst) => { if (rst) { m_isEnhancing = true; m_timerId = TimerHeap.AddTimer(2000, 0, () => { m_isEnhancing = false; }); myself.RpcCall("BodyEnhaUpgReq", (byte)CurrentSlot); MogoGlobleUIManager.Instance.ConfirmHide(); } else { MogoGlobleUIManager.Instance.ConfirmHide(); } }); return(false); } } return(true); }