Example #1
0
    static int GetAddnAttr(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        EquipmentBaseDataConfig obj = (EquipmentBaseDataConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "EquipmentBaseDataConfig");
        uint arg0 = (uint)LuaScriptMgr.GetNumber(L, 2);
        uint o    = obj.GetAddnAttr(arg0);

        LuaScriptMgr.Push(L, o);
        return(1);
    }
    static int GetBaseConfig(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 3);
        EquipmentConfig         obj  = (EquipmentConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "EquipmentConfig");
        uint                    arg0 = (uint)LuaScriptMgr.GetNumber(L, 2);
        uint                    arg1 = (uint)LuaScriptMgr.GetNumber(L, 3);
        EquipmentBaseDataConfig o    = obj.GetBaseConfig(arg0, arg1);

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
Example #3
0
    static int _CreateEquipmentBaseDataConfig(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 0)
        {
            EquipmentBaseDataConfig obj = new EquipmentBaseDataConfig();
            LuaScriptMgr.PushObject(L, obj);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: EquipmentBaseDataConfig.New");
        }

        return(0);
    }
Example #4
0
    static int get_icon(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);
        EquipmentBaseDataConfig obj = (EquipmentBaseDataConfig)o;

        if (obj == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name icon");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index icon on a nil value");
            }
        }

        LuaScriptMgr.Push(L, obj.icon);
        return(1);
    }
Example #5
0
    static int set_sell_price(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);
        EquipmentBaseDataConfig obj = (EquipmentBaseDataConfig)o;

        if (obj == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name sell_price");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index sell_price on a nil value");
            }
        }

        obj.sell_price = (uint)LuaScriptMgr.GetNumber(L, 3);
        return(0);
    }
Example #6
0
    static int set_addn_attr(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);
        EquipmentBaseDataConfig obj = (EquipmentBaseDataConfig)o;

        if (obj == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name addn_attr");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index addn_attr on a nil value");
            }
        }

        obj.addn_attr = (Dictionary <uint, uint>)LuaScriptMgr.GetNetObject(L, 3, typeof(Dictionary <uint, uint>));
        return(0);
    }
    public void ReadConfig()
    {
        if (isLoadFinish == false)
        {
            return;
        }
        isLoadFinish = false;
        lock (LockObject) { GameSystem.Instance.readConfigCnt += 1; }

        Debug.Log("Config reading " + name);
        string text = ResourceLoadManager.Instance.GetConfigText(name);

        if (text == null)
        {
            Debug.LogError("LoadConfig failed: " + name);
            return;
        }
        Data.Clear();

        //读取以及处理XML文本的类
        XmlDocument xmlDoc = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_EQUIPMENT, text);
        //解析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;
            }

            EquipmentLvDataConfig   lvData = new EquipmentLvDataConfig();
            EquipmentBaseDataConfig data   = new EquipmentBaseDataConfig();
            uint level = 0;
            foreach (XmlElement xel in xe)
            {
                if (xel.Name == "id")
                {
                    lvData.id = uint.Parse(xel.InnerText);
                }
                else if (xel.Name == "level")
                {
                    level = uint.Parse(xel.InnerText);
                }
                else if (xel.Name == "name")
                {
                    data.name = xel.InnerText;
                }
                else if (xel.Name == "icon")
                {
                    data.icon = xel.InnerText;
                }
                else if (xel.Name == "addn_attr")
                {
                    Dictionary <uint, uint> addn_attr = new Dictionary <uint, uint>();
                    string[] entirety = xel.InnerText.Split('&');
                    for (int i = 0; i < entirety.Length; ++i)
                    {
                        string[] detail = entirety[i].Split(':');
                        if (detail.Length < 2)
                        {
                            continue;
                        }
                        addn_attr[uint.Parse(detail[0])] = uint.Parse(detail[1]);
                    }
                    data.addn_attr = addn_attr;
                }
                else if (xel.Name == "require_level")
                {
                    data.require_level = uint.Parse(xel.InnerText);
                }
                else if (xel.Name == "sacrifice_consume")
                {
                    data.sacrifice_consume = uint.Parse(xel.InnerText);
                }
                else if (xel.Name == "sell_price")
                {
                    data.sell_price = uint.Parse(xel.InnerText);
                }
            }
            lvData.lvData[level] = data;
            if (Data.ContainsKey(lvData.id))
            {
                if (!Data[lvData.id].lvData.ContainsKey(level))
                {
                    Data[lvData.id].lvData[level] = data;
                }
            }
            else
            {
                Data[lvData.id] = lvData;
            }
        }
    }