/// <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); }
//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); } }
//根据排名读取配置 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); }
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); }
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); }
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); }
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); }
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); }
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); }