// void initLevelValuesTotal (){ // levelValuesTotal = new ArrayList(); // levelValuesTotal.Add(new ArrayList(){1, 1.1f, 1.25f, 1.4f, 1.55f, 2, 2.6f, 3.2f, 3.9f, 4.7f, 5.5f}); // levelValuesTotal.Add(new ArrayList(){1.5f, 1.6f, 1.75f, 1.9f, 2.05f, 2.5f, 3.1f, 3.7f, 4.4f, 5.2f, 6}); // levelValuesTotal.Add(new ArrayList(){2, 2.1f, 2.25f, 2.4f, 2.55f, 3, 3.6f, 4.2f, 4.9f, 5.7f, 6.5f}); // levelValuesTotal.Add(new ArrayList(){2.5f, 2.6f, 2.75f, 2.9f, 3.05f, 3.5f, 4.1f, 4.7f, 5.4f, 6.2f, 7}); // } //for 20121107 bug fix start----> //json = {'graphicsID':'weapon03', 'price':100, 'maxDurability':200, 'type':WEAPON, 'QName':'darkSword', 'isLvUp':true, 'specialType':[BIO, SHIELD]} // public EquipData ( EquipEft eft , Hashtable JsonData ){ // this.eft = eft; // baseValue = eft.num; // jsonD = JsonData; // id = int.Parse(JsonData["id"].ToString()); // display = int.Parse(JsonData["display"].ToString()); // dif = int.Parse(JsonData["dif"].ToString()); // graphicsID = JsonData["graphicsID"].ToString(); // price = int.Parse(JsonData["price"].ToString()); // //gwp // //durability = JsonData['durability']; // maxDurability = int.Parse(JsonData["maxDurability"].ToString()); // repairCoins = int.Parse(JsonData["repairCoins"].ToString()); // repairTotalTime = long.Parse(JsonData["repairTotalTime"].ToString()); // //end // type = JsonData["type"].ToString(); // isLvUp = bool.Parse(JsonData["isLvUp"].ToString()); // specialType= (ArrayList)JsonData["specialType"]; // QName = JsonData["QName"].ToString(); // credits = int.Parse(JsonData["credits"].ToString()); // iconID = JsonData["iconID"].ToString(); // // weapon level up ++ if every weapon different factory.init(). lib[0] = new EquipData // //add a element levelvalue difinition different percentage // //levelValues = [1, 1.1f, 1.25f, 1.4f]; // // // initLevelValuesTotal(); // // // moneyValues = new ArrayList(){1,3,6,9,12,24,29,35,42,60,70}; // // equipRarity = EquipDef.EQUIPRARITY_ENUM.NORMAL; // // levelValues = levelValuesTotal[0] as ArrayList; // } //for merchandiseItem public EquipData(EquipDef equipDef) { this.equipDef = equipDef; foreach(Effect eft in equipDef.equipEftList) { this.equipEftList.Add(eft.clone()); } // initLevelValuesTotal(); // // levelValues = levelValuesTotal[0] as ArrayList; }
//for 20121107 bug fix start----> public static void loadStaticFromXml(string itemsXml) { XmlDocument xmlDataRoot = new XmlDocument(); xmlDataRoot.LoadXml(itemsXml); XmlNodeList xmlData = StaticData.getXmlNode(xmlDataRoot, "root").FirstChild.ChildNodes; Debug.Log(xmlData.Count); XmlNodeList equipList = xmlData; // Debug.Log("---------------------------->"+equipList.Count); for(int i=0; i<equipList.Count; i++) { XmlNode equipNode = equipList[i]; // Debug.Log("---------------------------->"+i); // Debug.Log("---------------------------->"+equipNode.Name); if("#comment".Equals(equipNode.Name)){ continue; } int id = int.Parse(equipNode.Attributes["id"].Value); //add by gwp of level display int showAt =1; int makeAvailableAt = 1; int display = 1; if(equipNode.Attributes["showAtLevel"] != null) { showAt = int.Parse(equipNode.Attributes["showAtLevel"].Value); } if(equipNode.Attributes["makeAvailableAtLevel"] != null) { makeAvailableAt = int.Parse(equipNode.Attributes["makeAvailableAtLevel"].Value); } if(equipNode.Attributes["display"] != null) { display = int.Parse(equipNode.Attributes["display"].Value); } int dif = 1; if(equipNode.Attributes["dif"]!=null){ dif= int.Parse(equipNode.Attributes["dif"].Value); } string _type = equipNode.Attributes["type"].Value; EquipData.Type type = (EquipData.Type)Enum.Parse(typeof(EquipData.Type),_type); string equipName = equipNode.Attributes["name"].Value; int silver = 0; if(equipNode.Attributes["silver"]!=null){ silver = int.Parse(equipNode.Attributes["silver"].Value); } int gold = 0; if(equipNode.Attributes["gold"]!=null){ gold = int.Parse(equipNode.Attributes["gold"].Value); } int cp = 0; if(equipNode.Attributes["cp"]!=null){ cp = int.Parse(equipNode.Attributes["cp"].Value); } string graphicsID = ""; if(equipNode.Attributes["graphicsID"]!=null){ graphicsID = equipNode.Attributes["graphicsID"].Value; } string iconID = equipNode.Attributes["iconID"].Value; bool isLvUp = false; if(equipNode.Attributes["isLvUp"]!=null){ isLvUp = "true".Equals(equipNode.Attributes["isLvUp"].Value); } List<string> fuseCostIDs = new List<string>(); if(equipNode.Attributes["fuseCostIDs"]!=null) { string fuseCostIDStr = equipNode.Attributes["fuseCostIDs"].Value; if(fuseCostIDStr!="") { fuseCostIDs.AddRange(fuseCostIDStr.Split(","[0])); } } // XmlNode eftNode = StaticData.getXmlNode(equipNode, "eft");// equipNode.Item["eft"]; // string eftType = eftNode.Attributes["type"].Value; // int eftNum = int.Parse(eftNode.Attributes["num"].Value); // bool eftIsPer = "true".Equals(eftNode.Attributes["num"].Value); ArrayList specialType = new ArrayList(); string tempSpecialType = equipNode.Attributes["specialType"].Value; if(tempSpecialType != null && tempSpecialType.Length > 0) { specialType= new ArrayList(tempSpecialType.Split("|"[0])); } string description = "";//StaticData.getXmlNode(equipNode, "description").InnerText;//equipNode.Item["description"].InnerText; List<Effect> equipEftList = getEquipEftList(equipNode); EquipDef equipDef = new EquipDef( id, dif, type, showAt, makeAvailableAt, display, equipName, silver, gold, cp, graphicsID, iconID, isLvUp, specialType, description, // equipEft.num, fuseCostIDs, equipEftList); EquipData equipData = new EquipData(equipDef); EquipManager.Instance.allEquipHashtable[id] = equipData; } }
public static void loadFromJson(ICollection al) { foreach(Hashtable h in al){ int uid = int.Parse(h["uid"] as string ); int showAt =1; if(h["showlv"]!=null){ showAt = int.Parse(h["showlv"] as string ); } int makeAvailableAt = 1; if(h["unlocklv"]!=null){ makeAvailableAt = int.Parse(h["unlocklv"] as string ); } int display = 1; int dif = 1; string _type = h["type"] as string ; EquipData.Type type = (EquipData.Type)Enum.Parse(typeof(EquipData.Type),_type); string equipName = h["name"] as string ; int silver = 0; if(h["silver"]!=null){ silver = int.Parse(h["silver"] as string ); } int gold = 0; if(h["gold"]!=null){ gold = int.Parse(h["gold"] as string ); } int cp = 0; if(h["cp"]!=null){ cp = int.Parse(h["cp"] as string ); } string graphicsID = ""; if(h["graphicsID"]!=null){ graphicsID = h["graphicsID"] as string ; } string iconID = h["iconID"] as string ; bool isLvUp = false; if(h["isLvUp"]!=null){ isLvUp = "true".Equals(h["isLvUp"] as string); } List<string> fuseCostIDs = new List<string>(); if(h["fuseCostIDs"]!=null) { string fuseCostIDStr = h["fuseCostIDs"] as string; if(fuseCostIDStr!="") { fuseCostIDs.AddRange(fuseCostIDStr.Split(","[0])); } } ArrayList specialType = new ArrayList(); if(h["specialType"]!=null){ string tempSpecialType = h["specialType"] as string; if(tempSpecialType != null && tempSpecialType.Length > 0) { specialType= new ArrayList(tempSpecialType.Split("|"[0])); } } string description = "";//StaticData.getXmlNode(equipNode, "description").InnerText;//equipNode.Item["description"].InnerText; List<Effect> equipEftList = getEquipEftList(h); EquipDef equipDef = new EquipDef( uid, dif, type, showAt, makeAvailableAt, display, equipName, silver, gold, cp, graphicsID, iconID, isLvUp, specialType, description, // equipEft.num, fuseCostIDs, equipEftList); EquipData equipData = new EquipData(equipDef); EquipManager.Instance.allEquipHashtable[uid] = equipData; } }