コード例 #1
0
    static int FindLast(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <StoreGoodsData>      obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
        Predicate <StoreGoodsData> arg0 = null;
        LuaTypes funcType2 = LuaDLL.lua_type(L, 2);

        if (funcType2 != LuaTypes.LUA_TFUNCTION)
        {
            arg0 = (Predicate <StoreGoodsData>)LuaScriptMgr.GetNetObject(L, 2, typeof(Predicate <StoreGoodsData>));
        }
        else
        {
            LuaFunction func = LuaScriptMgr.GetLuaFunction(L, 2);
            arg0 = (param0) =>
            {
                int top = func.BeginPCall();
                LuaScriptMgr.PushObject(L, param0);
                func.PCall(top, 1);
                object[] objs = func.PopValues(top);
                func.EndPCall(top);
                return((bool)objs[0]);
            };
        }

        StoreGoodsData o = obj.FindLast(arg0);

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
コード例 #2
0
    static int Add(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <StoreGoodsData> obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
        StoreGoodsData        arg0 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 2, typeof(StoreGoodsData));

        obj.Add(arg0);
        return(0);
    }
コード例 #3
0
	static int GetStoreGoodsData(IntPtr L)
	{
		LuaScriptMgr.CheckArgsCount(L, 3);
		StoreGoodsConfig obj = (StoreGoodsConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "StoreGoodsConfig");
		uint arg0 = (uint)LuaScriptMgr.GetNumber(L, 2);
		uint arg1 = (uint)LuaScriptMgr.GetNumber(L, 3);
		StoreGoodsData o = obj.GetStoreGoodsData(arg0,arg1);
		LuaScriptMgr.PushObject(L, o);
		return 1;
	}
コード例 #4
0
    static int get_Item(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <StoreGoodsData> obj = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
        int            arg0       = (int)LuaScriptMgr.GetNumber(L, 2);
        StoreGoodsData o          = obj[arg0];

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
コード例 #5
0
    static int Remove(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <StoreGoodsData> obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
        StoreGoodsData        arg0 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 2, typeof(StoreGoodsData));
        bool o = obj.Remove(arg0);

        LuaScriptMgr.Push(L, o);
        return(1);
    }
コード例 #6
0
    static int Insert(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 3);
        List <StoreGoodsData> obj = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
        int            arg0       = (int)LuaScriptMgr.GetNumber(L, 2);
        StoreGoodsData arg1       = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 3, typeof(StoreGoodsData));

        obj.Insert(arg0, arg1);
        return(0);
    }
コード例 #7
0
    static int _CreateStoreGoodsData(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

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

        return(0);
    }
コード例 #8
0
    static int get_store_good_id(IntPtr L)
    {
        object         o   = LuaScriptMgr.GetLuaObject(L, 1);
        StoreGoodsData obj = (StoreGoodsData)o;

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

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

        LuaScriptMgr.Push(L, obj.store_good_id);
        return(1);
    }
コード例 #9
0
    static int set_is_sell(IntPtr L)
    {
        object         o   = LuaScriptMgr.GetLuaObject(L, 1);
        StoreGoodsData obj = (StoreGoodsData)o;

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

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

        obj.is_sell = (uint)LuaScriptMgr.GetNumber(L, 3);
        return(0);
    }
コード例 #10
0
    static int BinarySearch(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 2)
        {
            List <StoreGoodsData> obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
            StoreGoodsData        arg0 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 2, typeof(StoreGoodsData));
            int o = obj.BinarySearch(arg0);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 3)
        {
            List <StoreGoodsData>      obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
            StoreGoodsData             arg0 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 2, typeof(StoreGoodsData));
            IComparer <StoreGoodsData> arg1 = (IComparer <StoreGoodsData>)LuaScriptMgr.GetNetObject(L, 3, typeof(IComparer <StoreGoodsData>));
            int o = obj.BinarySearch(arg0, arg1);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 5)
        {
            List <StoreGoodsData> obj       = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
            int                        arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
            int                        arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
            StoreGoodsData             arg2 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 4, typeof(StoreGoodsData));
            IComparer <StoreGoodsData> arg3 = (IComparer <StoreGoodsData>)LuaScriptMgr.GetNetObject(L, 5, typeof(IComparer <StoreGoodsData>));
            int                        o    = obj.BinarySearch(arg0, arg1, arg2, arg3);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: List<StoreGoodsData>.BinarySearch");
        }

        return(0);
    }
コード例 #11
0
    static int LastIndexOf(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 2)
        {
            List <StoreGoodsData> obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
            StoreGoodsData        arg0 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 2, typeof(StoreGoodsData));
            int o = obj.LastIndexOf(arg0);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 3)
        {
            List <StoreGoodsData> obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
            StoreGoodsData        arg0 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 2, typeof(StoreGoodsData));
            int arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
            int o    = obj.LastIndexOf(arg0, arg1);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 4)
        {
            List <StoreGoodsData> obj  = (List <StoreGoodsData>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<StoreGoodsData>");
            StoreGoodsData        arg0 = (StoreGoodsData)LuaScriptMgr.GetNetObject(L, 2, typeof(StoreGoodsData));
            int arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
            int arg2 = (int)LuaScriptMgr.GetNumber(L, 4);
            int o    = obj.LastIndexOf(arg0, arg1, arg2);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: List<StoreGoodsData>.LastIndexOf");
        }

        return(0);
    }
コード例 #12
0
    public void ReadStoreData()
    {
        string text = ResourceLoadManager.Instance.GetConfigText(name2);

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

        //读取以及处理XML文本的类
        XmlDocument xmlDoc = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_STOREGOODS, 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;
            }
            StoreGoodsData storeGoodsData = new StoreGoodsData();
            uint           storeID        = 0;
            foreach (XmlElement xel in xe)
            {
                if (xel.Name == "store_id")
                {
                    uint.TryParse(xel.InnerText, out storeID);
                }
                else if (xel.Name == "goods_id")
                {
                    int.TryParse(xel.InnerText, out storeGoodsData.store_good_id);
                }
                else if (xel.Name == "consume_type")
                {
                    int.TryParse(xel.InnerText, out storeGoodsData.store_good_consume_type);
                }
                else if (xel.Name == "price")
                {
                    int.TryParse(xel.InnerText, out storeGoodsData.store_good_price);
                }
                else if (xel.Name == "weight")
                {
                    int.TryParse(xel.InnerText, out storeGoodsData.store_goods_weight);
                }
                else if (xel.Name == "apply_min_level")
                {
                    int.TryParse(xel.InnerText, out storeGoodsData.apply_min_level);
                }
                else if (xel.Name == "apply_max_level")
                {
                    int.TryParse(xel.InnerText, out storeGoodsData.apply_max_level);
                }
                else if (xel.Name == "is_sell" && !string.IsNullOrEmpty(xel.InnerText))
                {
                    uint.TryParse(xel.InnerText, out storeGoodsData.is_sell);
                }
            }
            if (StoreDatas.ContainsKey(storeID) == false)
            {
                StoreDatas[storeID] = new List <StoreGoodsData>();
            }
            StoreDatas[storeID].Add(storeGoodsData);
        }
    }