/// <summary> /// 清空一个单位的Level1的Level2的事件列表 /// </summary> /// <param name="objId">被清空单位ID</param> /// <param name="typeLevel1">被清空类型Level1</param> /// <param name="typeLevel2">被清空类型Level2</param> public void ClearSkillTriggerData(ObjectID objId, TriggerLevel1 typeLevel1, TriggerLevel2 typeLevel2) { if (triggerList.ContainsKey(objId)) { var dicLevel1 = triggerList[objId]; if (dicLevel1.ContainsKey(typeLevel1)) { var dicLevel2 = dicLevel1[typeLevel1]; if (dicLevel2.ContainsKey(typeLevel2)) { dicLevel2[typeLevel2].Clear(); } } } }
static int ClearSkillTriggerData(IntPtr L) { try { ToLua.CheckArgsCount(L, 4); SkillManager obj = (SkillManager)ToLua.CheckObject(L, 1, typeof(SkillManager)); ObjectID arg0 = (ObjectID)ToLua.CheckObject(L, 2, typeof(ObjectID)); TriggerLevel1 arg1 = (TriggerLevel1)ToLua.CheckObject(L, 3, typeof(TriggerLevel1)); TriggerLevel2 arg2 = (TriggerLevel2)ToLua.CheckObject(L, 4, typeof(TriggerLevel2)); obj.ClearSkillTriggerData(arg0, arg1, arg2); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
/// <summary> /// 取出事件数据列表 /// </summary> /// <param name="objId">被取单位ID</param> /// <param name="type1">被取出类型Level1</param> /// <param name="type2">被取出类型Level2</param> /// <returns>如果有列表返回列表, 否则返回null</returns> public List <TriggerData> GetSkillTriggerDataList(ObjectID objId, TriggerLevel1 type1, TriggerLevel2 type2) { if (triggerList.ContainsKey(objId)) { var dicLevel1 = triggerList[objId]; if (dicLevel1.ContainsKey(type1)) { var dicLevel2 = dicLevel1[type1]; if (dicLevel2.ContainsKey(type2)) { return(dicLevel2[type2]); } } } return(null); }
static int set_TriggerLevel1(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); SkillBase obj = (SkillBase)o; TriggerLevel1 arg0 = (TriggerLevel1)ToLua.CheckObject(L, 2, typeof(TriggerLevel1)); obj.TriggerLevel1 = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index TriggerLevel1 on a nil value" : e.Message)); } }
static int get_TriggerLevel1(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); SkillBase obj = (SkillBase)o; TriggerLevel1 ret = obj.TriggerLevel1; ToLua.Push(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index TriggerLevel1 on a nil value" : e.Message)); } }
static int GetSkillTriggerDataList(IntPtr L) { try { ToLua.CheckArgsCount(L, 4); SkillManager obj = (SkillManager)ToLua.CheckObject(L, 1, typeof(SkillManager)); ObjectID arg0 = (ObjectID)ToLua.CheckObject(L, 2, typeof(ObjectID)); TriggerLevel1 arg1 = (TriggerLevel1)ToLua.CheckObject(L, 3, typeof(TriggerLevel1)); TriggerLevel2 arg2 = (TriggerLevel2)ToLua.CheckObject(L, 4, typeof(TriggerLevel2)); System.Collections.Generic.List <TriggerData> o = obj.GetSkillTriggerDataList(arg0, arg1, arg2); ToLua.PushObject(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }