static int GetSuitAttrConfig(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 2); GoodsConfig obj = (GoodsConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "GoodsConfig"); uint arg0 = (uint)LuaScriptMgr.GetNumber(L, 2); SuitAddnAttrData o = obj.GetSuitAttrConfig(arg0); LuaScriptMgr.PushObject(L, o); return(1); }
static int _CreateSuitAddnAttrData(IntPtr L) { int count = LuaDLL.lua_gettop(L); if (count == 0) { SuitAddnAttrData obj = new SuitAddnAttrData(); LuaScriptMgr.PushObject(L, obj); return(1); } else { LuaDLL.luaL_error(L, "invalid arguments to method: SuitAddnAttrData.New"); } return(0); }
static int get_suitID(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); SuitAddnAttrData obj = (SuitAddnAttrData)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name suitID"); } else { LuaDLL.luaL_error(L, "attempt to index suitID on a nil value"); } } LuaScriptMgr.Push(L, obj.suitID); return(1); }
static int set_multi_attr(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); SuitAddnAttrData obj = (SuitAddnAttrData)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name multi_attr"); } else { LuaDLL.luaL_error(L, "attempt to index multi_attr on a nil value"); } } obj.multi_attr = (Dictionary <uint, Dictionary <uint, uint> >)LuaScriptMgr.GetNetObject(L, 3, typeof(Dictionary <uint, Dictionary <uint, uint> >)); return(0); }
static int set_parts(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); SuitAddnAttrData obj = (SuitAddnAttrData)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name parts"); } else { LuaDLL.luaL_error(L, "attempt to index parts on a nil value"); } } obj.parts = (List <uint>)LuaScriptMgr.GetNetObject(L, 3, typeof(List <uint>)); return(0); }
static int set_goodsID(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); SuitAddnAttrData obj = (SuitAddnAttrData)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name goodsID"); } else { LuaDLL.luaL_error(L, "attempt to index goodsID on a nil value"); } } obj.goodsID = (uint)LuaScriptMgr.GetNumber(L, 3); return(0); }
public void ReadGoodsAttrData() { //string text = ResourceLoadManager.Instance.GetConfigText(name1); //if (text == null) //{ // Debug.LogError("LoadConfig failed: " + name1); // return; //} goodsAttrConfig.Clear(); suitAttrConfig.Clear(); //TextAsset conf = ResourceLoadManager.Instance.GetResources(GlobalConst.DIR_XML_GOODSATTR) as TextAsset; //TextAsset conf = obj as TextAsset; MemoryStream stream = new MemoryStream(ResourceLoadManager.Instance.GetConfigByte(GlobalConst.DIR_XML_GOODSATTR)); BinaryReader objBinaryRead = new BinaryReader(stream); int count = objBinaryRead.ReadInt32(); for (int i = 0; i < count; ++i) { GoodsAttrConfig config = new GoodsAttrConfig(); config.id = (uint)objBinaryRead.ReadInt32(); config.name = objBinaryRead.ReadString(); config.icon = objBinaryRead.ReadString(); config.purpose = objBinaryRead.ReadString(); config.intro = objBinaryRead.ReadString(); config.category = (uint)objBinaryRead.ReadInt32(); config.sub_category = objBinaryRead.ReadString(); config.gender = (uint)objBinaryRead.ReadInt32(); config.suit_id = (uint)objBinaryRead.ReadInt32(); config.suit_addn_attr = objBinaryRead.ReadString(); config.suit_multi_attr = objBinaryRead.ReadString(); config.quality = (uint)objBinaryRead.ReadInt32(); config.stack_num = (uint)objBinaryRead.ReadInt32(); config.can_use = (uint)objBinaryRead.ReadInt32(); config.use_result_id = (uint)objBinaryRead.ReadInt32(); config.can_sell = (uint)objBinaryRead.ReadInt32(); config.sell_id = (uint)objBinaryRead.ReadInt32(); config.sell_price = (uint)objBinaryRead.ReadInt32(); config.access_way_type = (uint)objBinaryRead.ReadInt32(); config.access_way = objBinaryRead.ReadString(); config.show_special_effect = objBinaryRead.ReadString(); if (config.suit_id != 0) { SuitAddnAttrData suitAttrData = new SuitAddnAttrData(); suitAttrData.goodsID = config.id; suitAttrData.suitID = config.suit_id; suitAttrData.parts.Add(uint.Parse(config.sub_category)); //加系数 string[] entirety1 = config.suit_addn_attr.Split('|'); for (uint dei = 0; dei < entirety1.Length; ++dei) { Dictionary <uint, uint> addn_attr = new Dictionary <uint, uint>(); string[] items = entirety1[dei].Split('&'); for (int dej = 0; dej < items.Length; ++dej) { string[] detail = items[dej].Split(':'); if (detail.Length < 2) { continue; } addn_attr[uint.Parse(detail[0])] = uint.Parse(detail[1]); } suitAttrData.addn_attr.Add(dei + 1, addn_attr); } //乘系数 string[] entirety2 = config.suit_multi_attr.Split('|'); for (uint dei = 0; dei < entirety2.Length; ++dei) { Dictionary <uint, uint> addn_attr = new Dictionary <uint, uint>(); string[] items = entirety2[dei].Split('&'); for (int dej = 0; dej < items.Length; ++dej) { string[] detail = items[dej].Split(':'); if (detail.Length < 2) { continue; } addn_attr[uint.Parse(detail[0])] = uint.Parse(detail[1]); } suitAttrData.multi_attr.Add(dei + 1, addn_attr); } suitAttrConfig.Add(config.id, suitAttrData); } if (!goodsAttrConfig.ContainsKey(config.id)) { goodsAttrConfig.Add(config.id, config); } } objBinaryRead.Close(); stream.Close(); //读取以及处理XML文本的类 //XmlDocument xmlDoc = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_GOODSATTR); //解析xml的过程 /*XmlNodeList nodelist = xmlDoc.SelectSingleNode("Data").ChildNodes; * foreach (XmlElement xe in nodelist) * { * XmlNode comment = xe.SelectSingleNode(GlobalConst.CONFIG_SWITCH_COLUMN); * if (comment != null && comment.InnerText == GlobalConst.CONFIG_SWITCH) * continue; * GoodsAttrConfig config = new GoodsAttrConfig(); * foreach (XmlElement xel in xe) * { * uint value = 0; * if (xel.Name == "id") * { * uint.TryParse(xel.InnerText, out value); * config.id = value; * } * else if (xel.Name == "name") * { * config.name = xel.InnerText; * } * else if (xel.Name == "icon") * { * config.icon = xel.InnerText; * } * else if (xel.Name == "intro") * { * config.intro = xel.InnerText; * } * else if (xel.Name == "category") * { * uint.TryParse(xel.InnerText, out value); * config.category = value; * } * else if (xel.Name == "sub_category") * { * // uint.TryParse(xel.InnerText, out value); * config.sub_category = xel.InnerText; * } * else if (xel.Name == "quality") * { * uint.TryParse(xel.InnerText, out value); * config.quality = value; * } * else if (xel.Name == "can_use") * { * uint.TryParse(xel.InnerText, out value); * config.can_use = value; * } * else if (xel.Name == "use_result_id") * { * uint.TryParse(xel.InnerText, out value); * config.use_result_id = value; * } * else if (xel.Name == "stack_num") * { * uint.TryParse(xel.InnerText, out value); * config.stack_num = value; * } * else if (xel.Name == "can_sell") * { * uint.TryParse(xel.InnerText, out value); * config.can_sell = value; * } * else if (xel.Name == "sell_price") * { * uint.TryParse(xel.InnerText, out value); * config.sell_price = value; * } * else if (xel.Name == "can_composite") * { * uint.TryParse(xel.InnerText, out value); * config.can_composite = value; * } * else if( xel.Name == "gender" ) * { * uint.TryParse(xel.InnerText, out value); * config.gender = value; * } * else if (xel.Name == "purpose") * { * config.purpose = xel.InnerText; * } * } * if (!goodsAttrConfig.ContainsKey(config.id)) * { * goodsAttrConfig.Add(config.id, config); * } * }*/ }