static int GetAttrValue(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        StarAttr obj  = (StarAttr)LuaScriptMgr.GetNetObjectSelf(L, 1, "StarAttr");
        uint     arg0 = (uint)LuaScriptMgr.GetNumber(L, 2);
        uint     o    = obj.GetAttrValue(arg0);

        LuaScriptMgr.Push(L, o);
        return(1);
    }
Beispiel #2
0
    public Dictionary <uint, uint> GetAttr(uint id, uint star)
    {
        StarAttr atr = GetStarAttr(id, star);

        if (atr != null)
        {
            return(atr.attrs);
        }
        return(null);
    }
Beispiel #3
0
    static int GetStarAttr(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 3);
        StarAttrConfig obj  = (StarAttrConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "StarAttrConfig");
        uint           arg0 = (uint)LuaScriptMgr.GetNumber(L, 2);
        uint           arg1 = (uint)LuaScriptMgr.GetNumber(L, 3);
        StarAttr       o    = obj.GetStarAttr(arg0, arg1);

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
    static int _CreateStarAttr(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

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

        return(0);
    }
    static int get_star(IntPtr L)
    {
        object   o   = LuaScriptMgr.GetLuaObject(L, 1);
        StarAttr obj = (StarAttr)o;

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

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

        LuaScriptMgr.Push(L, obj.star);
        return(1);
    }
    static int set_attrs(IntPtr L)
    {
        object   o   = LuaScriptMgr.GetLuaObject(L, 1);
        StarAttr obj = (StarAttr)o;

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

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

        obj.attrs = (Dictionary <uint, uint>)LuaScriptMgr.GetNetObject(L, 3, typeof(Dictionary <uint, uint>));
        return(0);
    }
    static int set_id(IntPtr L)
    {
        object   o   = LuaScriptMgr.GetLuaObject(L, 1);
        StarAttr obj = (StarAttr)o;

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

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

        obj.id = (int)LuaScriptMgr.GetNumber(L, 3);
        return(0);
    }
Beispiel #8
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;
        }

        starAttrData.Clear();

        XmlDocument xmlDoc   = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_STAR_ATTR, text);
        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;
            }
            StarAttr data = new StarAttr();
            foreach (XmlElement xel in xe)
            {
                if (xel.Name == "ID")
                {
                    int.TryParse(xel.InnerText, out data.id);
                }
                if (xel.Name == "star")
                {
                    int.TryParse(xel.InnerText, out data.star);
                }
                if (xel.Name == "consume")
                {
                    string[] consumes = xel.InnerText.Split('&');
                    foreach (string consume in consumes)
                    {
                        string[] item = consume.Split(':');

                        if (item.Length == 2)
                        {
                            uint id;
                            uint value;
                            uint.TryParse(item[0], out id);
                            uint.TryParse(item[1], out value);
                            data.consume.Add(id, value);
                        }
                    }
                }
                else if (xel.Name == "attrs")
                {
                    string[] attrs = xel.InnerText.Split('&');
                    foreach (string attr in attrs)
                    {
                        string[] item = attr.Split(':');
                        uint     id;
                        uint     value;
                        uint.TryParse(item[0], out id);
                        uint.TryParse(item[1], out value);
                        data.attrs.Add(id, value);
                    }
                }
            }
            starAttrData.Add(data);
        }
    }