示例#1
0
        /// <summary>
        /// Add new data in the reference data collection
        /// </summary>
        /// <param name="entity">The entity for which to add data.</param>
        public void AddData(BaseEntity entity)
        {
            if (entity != null)
            {
                Guid keyById = entity.Id;
                if (!DataById.ContainsKey(keyById))
                {
                    DataById.Add(keyById, entity);
                }
                else
                {
                    DataById[keyById] = entity;
                }

                string preview = entity.Preview ?? String.Empty;
                if (!DataByName.ContainsKey(preview))
                {
                    entity.Index = DataByName.Count;
                    DataByName.Add(preview, entity);
                }
                else
                {
                    DataByName[preview] = entity;
                }
            }
        }
    static int FindLast(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <DataById>      obj       = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
        Predicate <DataById> arg0      = null;
        LuaTypes             funcType2 = LuaDLL.lua_type(L, 2);

        if (funcType2 != LuaTypes.LUA_TFUNCTION)
        {
            arg0 = (Predicate <DataById>)LuaScriptMgr.GetNetObject(L, 2, typeof(Predicate <DataById>));
        }
        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]);
            };
        }

        DataById o = obj.FindLast(arg0);

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
    static int Add(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <DataById> obj  = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
        DataById        arg0 = (DataById)LuaScriptMgr.GetNetObject(L, 2, typeof(DataById));

        obj.Add(arg0);
        return(0);
    }
    static int get_Item(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <DataById> obj  = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
        int             arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
        DataById        o    = obj[arg0];

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
    static int Remove(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <DataById> obj  = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
        DataById        arg0 = (DataById)LuaScriptMgr.GetNetObject(L, 2, typeof(DataById));
        bool            o    = obj.Remove(arg0);

        LuaScriptMgr.Push(L, o);
        return(1);
    }
    static int Insert(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 3);
        List <DataById> obj  = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
        int             arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
        DataById        arg1 = (DataById)LuaScriptMgr.GetNetObject(L, 3, typeof(DataById));

        obj.Insert(arg0, arg1);
        return(0);
    }
    static int GetAwardsData(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        QualifyingConfig obj  = (QualifyingConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "QualifyingConfig");
        uint             arg0 = (uint)LuaScriptMgr.GetNumber(L, 2);
        DataById         o    = obj.GetAwardsData(arg0);

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
示例#8
0
    //public VipData GetVipData(uint level)
    //{
    //    VipData vipData = null;
    //    Vipdatas.TryGetValue(level, out vipData);
    //    return vipData;
    //}

    //void ReadQualifyingAwards()
    //{
    //    AwardsData.Clear();
    //    XmlDocument xmlDoc = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_QIALIFYING_RANKAWARDS);
    //    XmlNodeList nodelist = xmlDoc.SelectSingleNode("Data").ChildNodes;
    //    //string ranking1 = "" ;
    //    //uint ranking = 0;
    //    //uint id = 0;
    //    DataById DataById = new DataById();
    //    DataById.databyid.Clear();
    //    DataById.rank_min = 1;
    //    DataById.rank_max = 1;
    //    uint min = 0;
    //    uint max = 0;
    //    foreach (XmlElement xe in nodelist)
    //    {
    //        if (CommonFunction.IsCommented(xe))
    //            continue;
    //        string ranking = xe.SelectSingleNode("ranking").InnerText;
    //        if (ranking.IndexOf(",") == -1)
    //        {
    //            min = uint.Parse(ranking);
    //            max = uint.Parse(ranking);
    //        }
    //        else
    //        {
    //            string[] temp = ranking.Split(',');
    //            min = uint.Parse(temp[0]);
    //            max = uint.Parse(temp[1]);
    //        }
    //        if ((DataById.rank_min != min) || (DataById.rank_max != max))
    //        {     
    //            AwardsData.Add(DataById);
    //            DataById = new DataById();
    //            DataById.rank_min = min;
    //            DataById.rank_max = max;

    //        }
    //        QualifyingAwardsData x = new QualifyingAwardsData();
    //        x.id = uint.Parse(xe.SelectSingleNode("id").InnerText);
    //        x.value = uint.Parse(xe.SelectSingleNode("value").InnerText);
    //        x.type_count = uint.Parse(xe.SelectSingleNode("type_count").InnerText);
    //        DataById.databyid.Add(x);

    //    }
    //    AwardsData.Add(DataById);

    //    GetAwardsData(7);
    //}

    void ReadQualifyingAwards()
    {
        string text = ResourceLoadManager.Instance.GetConfigText(name1);
        if (text == null)
        {
            Debug.LogError("LoadConfig failed: " + name1);
            return;
        }
        
        //排名奖励
        DayAwardsData.Clear();
        XmlDocument xmlDoc = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_QUALIFYING_DAYWARDS, text);
        XmlNodeList nodelist = xmlDoc.SelectSingleNode("Data").ChildNodes;
        uint min = 0;
        uint max = 0;
        foreach (XmlElement xe in nodelist)
        {
            DataById DataById = new DataById();
            if (CommonFunction.IsCommented(xe))
                continue;
            string ranking = xe.SelectSingleNode("ranking").InnerText;
            if (ranking.IndexOf(",") == -1)
            {
                min = uint.Parse(ranking);
                max = uint.Parse(ranking);
            }
            else
            {
                string[] temp = ranking.Split(',');
                min = uint.Parse(temp[0]);
                max = uint.Parse(temp[1]);
            }
            DataById.rank_min = min;
            DataById.rank_max = max;
            for (int i = 0; i < 3; i++)
            {
                string str = "id" + (i + 1);
                string val = "value" + (i + 1);
                if (xe.SelectSingleNode(str) == null || xe.SelectSingleNode(str).InnerText == "") break;
                QualifyingAwardsData x = new QualifyingAwardsData();
                x.id = uint.Parse(xe.SelectSingleNode(str).InnerText);
                x.value = uint.Parse(xe.SelectSingleNode(val).InnerText);
                DataById.databyid.Add(x);
            }
            DayAwardsData.Add(DataById);

            
        }
    }
示例#9
0
    //根据排名读取配置
    public DataById GetAwardsData(uint rank)
    {
        DataById data = new DataById();
        //for (int i = 0; i < DayAwardsData.Count; i++)
        //{
        //    if (rank >= DayAwardsData[i].rank_min && rank <= DayAwardsData[i].rank_max)
        //    {
        //        data = DayAwardsData[i];
        //        break;
        //    }
        //}
        //return data;
        Debug.Log("---------------qualifydata:" + DayAwardsData.Find(x => rank >= x.rank_min && rank <= x.rank_max).rank_min);
        return DayAwardsData.Find(x => rank >= x.rank_min && rank <= x.rank_max);

    }
示例#10
0
    static int _CreateDataById(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

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

        return(0);
    }
示例#11
0
    static int get_rank_max(IntPtr L)
    {
        object   o   = LuaScriptMgr.GetLuaObject(L, 1);
        DataById obj = (DataById)o;

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

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

        LuaScriptMgr.Push(L, obj.rank_max);
        return(1);
    }
示例#12
0
    static int set_databyid(IntPtr L)
    {
        object   o   = LuaScriptMgr.GetLuaObject(L, 1);
        DataById obj = (DataById)o;

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

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

        obj.databyid = (List <QualifyingAwardsData>)LuaScriptMgr.GetNetObject(L, 3, typeof(List <QualifyingAwardsData>));
        return(0);
    }
示例#13
0
    static int set_rank_min(IntPtr L)
    {
        object   o   = LuaScriptMgr.GetLuaObject(L, 1);
        DataById obj = (DataById)o;

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

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

        obj.rank_min = (uint)LuaScriptMgr.GetNumber(L, 3);
        return(0);
    }
示例#14
0
    static int BinarySearch(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

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

        return(0);
    }
示例#15
0
    static int LastIndexOf(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 2)
        {
            List <DataById> obj  = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
            DataById        arg0 = (DataById)LuaScriptMgr.GetNetObject(L, 2, typeof(DataById));
            int             o    = obj.LastIndexOf(arg0);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 3)
        {
            List <DataById> obj  = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
            DataById        arg0 = (DataById)LuaScriptMgr.GetNetObject(L, 2, typeof(DataById));
            int             arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
            int             o    = obj.LastIndexOf(arg0, arg1);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 4)
        {
            List <DataById> obj  = (List <DataById>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<DataById>");
            DataById        arg0 = (DataById)LuaScriptMgr.GetNetObject(L, 2, typeof(DataById));
            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<DataById>.LastIndexOf");
        }

        return(0);
    }