public void OnExitDelegate() { if (OnExit != null) { OnExit.BeginPCall(); OnExit.PCall(); OnExit?.EndPCall(); } }
public void OnEnterDelegate() { if (OnEnter != null) { OnEnter.BeginPCall(); OnEnter.PCall(); OnEnter?.EndPCall(); } }
public void OnUpdateDelegate() { if (OnUpdate != null) { OnUpdate.BeginPCall(); OnUpdate.PCall(); OnUpdate?.EndPCall(); } }
/// <summary> /// !!!: lua端不可使用该接口 /// </summary> public void OnPointerUp(PointerEventData data) { if (!m_beenDragged) { if (null != click) { Vector3 pos = (Vector3)m_mouseLastPos - m_rect.localPosition; //LuaManager.instance.CallFunctionNoGC(click, false, pos.x, pos.y); click.BeginPCall(); click.Push(pos.x); click.Push(pos.y); click.PCall(); click.EndPCall(); //click.Call(pos.x, pos.y); } //Debug.LogError("bbbbb: " + ((Vector3)m_mouseLastPos - m_rect.localPosition)); } }
/// <summary> /// 抛出事件 /// </summary> /// <param name="type">Type.</param> /// <param name="data">Data.</param> private void DispatchEvent(string type, System.Object data = null) { Common.looper.AddNetAction(() => { if (callback != null) { callback(type, data); } if (luaTarget != null) { s_dispatchEvent.BeginPCall(); s_dispatchEvent.Push(luaTarget); s_dispatchEvent.Push(type); s_dispatchEvent.Push(data); s_dispatchEvent.PCall(); s_dispatchEvent.EndPCall(); } }); }
private static void DispatchEvent(LuaTable ed, string type, PointerEventData eventData) { if (ed == null) { return; } if (s_dispatchEvent == null) { s_dispatchEvent = Common.luaMgr.state.GetFunction("PointerEvent.DispatchEvent"); } s_dispatchEvent.BeginPCall(); s_dispatchEvent.Push(ed); s_dispatchEvent.Push(type); s_dispatchEvent.Push(eventData); s_dispatchEvent.PCall(); s_dispatchEvent.EndPCall(); }
public override void Trigger() { if (!Application.isPlaying) { return; } LuaManager luaMgr = AppFacade.Instance.GetManager <LuaManager>(); LuaFunction func = luaMgr.mainLua.GetFunction("CurtainPanel.show"); if (func == null) { return; } func.BeginPCall(); func.PCall(); func.EndPCall(); }
public static void CallFunc(string funcName, params object[] args) { _luaFunc = _lua.GetFunction(funcName); if (_luaFunc == null) { return; } _luaFunc.BeginPCall(); if (args.Length != 0) { foreach (var arg in args) { _luaFunc.Push(arg); } } _luaFunc.PCall(); _luaFunc.EndPCall(); }
static int set_onValidateInput(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); UnityEngine.UI.InputField obj = (UnityEngine.UI.InputField)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name onValidateInput"); } else { LuaDLL.luaL_error(L, "attempt to index onValidateInput on a nil value"); } } LuaTypes funcType = LuaDLL.lua_type(L, 3); if (funcType != LuaTypes.LUA_TFUNCTION) { obj.onValidateInput = (UnityEngine.UI.InputField.OnValidateInput)LuaScriptMgr.GetNetObject(L, 3, typeof(UnityEngine.UI.InputField.OnValidateInput)); } else { LuaFunction func = LuaScriptMgr.ToLuaFunction(L, 3); obj.onValidateInput = (param0, param1, param2) => { int top = func.BeginPCall(); LuaScriptMgr.Push(L, param0); LuaScriptMgr.Push(L, param1); LuaScriptMgr.Push(L, param2); func.PCall(top, 3); object[] objs = func.PopValues(top); func.EndPCall(top); return((char)objs[0]); }; } return(0); }
protected override void OnLoadFinished() { #if UNITY_5 Application.logMessageReceived += ShowTips; #else Application.RegisterLogCallback(ShowTips); #endif base.OnLoadFinished(); TextAsset text = (TextAsset)Resources.Load("jsonexample", typeof(TextAsset)); string str = text.ToString(); luaState.DoString(script); LuaFunction func = luaState.GetFunction("Test"); func.BeginPCall(); func.Push(str); func.PCall(); func.EndPCall(); func.Dispose(); }
private void Start() { this.state = new LuaState(); this.state.Start(); this.state.LogGC = true; this.state.DoString(this.script, "LuaState.cs"); LuaFunction function = this.state.GetFunction("Test", true); function.BeginPCall(); function.PCall(); this.thread = function.CheckLuaThread(); this.thread.name = "LuaThread"; function.EndPCall(); function.Dispose(); this.thread.Resume(new object[] { 10 }); }
void Update() { if (stepState == StepState.Enable) { stepState = StepState.Over; step.BeginPCall(); step.Push(systemsName); step.PCall(); step.EndPCall(); } name = string.Format("{0} ({1} init, {2} exe, {3:0.###} ms)", systemsName, profile["initializesystemcount"], profile["executesystemcount"], profile["executecostnow"]); if (Time.frameCount % (int)avgResetInterval == 0 && (bool)profile["enable"]) { Reset(systemsName); } }
void Start() { state = new LuaState(); state.Start(); state.LogGC = true; state.DoString(script); LuaFunction func = state.GetFunction("Test"); func.BeginPCall(); func.PCall(); thread = func.CheckLuaThread(); thread.name = "LuaThread"; func.EndPCall(); func.Dispose(); func = null; thread.Resume(10); }
static int set_onValidateInput(IntPtr L) { object o = L.ToUserData(1); UnityEngine.UI.InputField obj = (UnityEngine.UI.InputField)o; if (obj == null) { LuaTypes types = L.Type(1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name onValidateInput"); } else { LuaDLL.luaL_error(L, "attempt to index onValidateInput on a nil value"); } } LuaTypes funcType = L.Type(3); if (funcType != LuaTypes.LUA_TFUNCTION) { obj.onValidateInput = (UnityEngine.UI.InputField.OnValidateInput)L.ChkUserData(3, typeof(UnityEngine.UI.InputField.OnValidateInput)); } else { LuaFunction func = L.ToLuaFunction(3); obj.onValidateInput = (param0, param1, param2) => { int top = func.BeginPCall(); L.PushString(param0); L.PushInteger(param1); L.PushLightUserData(param2); func.PCall(top, 3); object[] objs = func.PopValues(top); func.EndPCall(top); return((char)objs[0]); }; } return(0); }
public void OnPointerUp(UnityEngine.EventSystems.PointerEventData eventData) { int trigger = 0; Vector3 vec = eventData.position - m_lastPos; if (vec.y > m_sensitivity) { Show(true); trigger = 1; } else if (vec.y < -m_sensitivity) { Show(false); trigger = 2; } /* Vector3 wPos = m_uiCamera.ScreenToWorldPoint(eventData.position); * Vector3 lPos = transform.InverseTransformPoint(wPos); * if (Square(lPos.x) + Square(lPos.y) > m_radiusPow) * { * Vector2 vec = eventData.position - m_lastPos; * if (vec.y > 0) * { * Show(true); * trigger = 1; * } * else * { * Show(false); * trigger = 2; * } * }*/ if (null != switchTarget) { //LuaManager.instance.CallFunctionNoGC(switchTarget, false, trigger); // switchTarget.Call(trigger); switchTarget.BeginPCall(); switchTarget.Push(trigger); switchTarget.PCall(); switchTarget.EndPCall(); } }
public void Init(LuaTable tb) { mLuaState = SimpleLuaClient.GetMainState(); if (mLuaState == null) { return; } if (tb == null) { mLuaTable = mLuaState.GetTable(name); } else { mLuaTable = tb; } if (mLuaTable == null) { Debug.LogWarning("mLuaTable is null:" + name); return; } mLuaTable["gameObject"] = gameObject; mLuaTable["transform"] = transform; mLuaTable["lua_behaviour"] = this; LuaFunction awakeFunc = mLuaTable.GetLuaFunction("Awake") as LuaFunction; if (awakeFunc != null) { awakeFunc.BeginPCall(); awakeFunc.Push(mLuaTable); awakeFunc.PCall(); awakeFunc.EndPCall(); awakeFunc.Dispose(); awakeFunc = null; } mUpdateFunc = mLuaTable.GetLuaFunction("Update") as LuaFunction; mFixedUpdateFunc = mLuaTable.GetLuaFunction("FixedUpdate") as LuaFunction; mLateUpdateFunc = mLuaTable.GetLuaFunction("LateUpdate") as LuaFunction; }
//调用函数 protected void CallLuaFunction(string name, params object[] args) { if (null == s_luaState) { return; } LuaFunction func = null; if (mDictFunc.TryGetValue(name, out func)) { func.BeginPCall(); foreach (var o in args) { func.Push(o); } func.PCall(); func.EndPCall(); } }
private void Awake() { AddMessage(1001, CSCallback); VOID_CB___S.Add(1, Awake); Instance = this; Init(); //luaFuncs.Add() luaState.DoFile(name); //调用lua注册函数,该函数调用消息中心注册 LuaFunction func = luaState.GetFunction("Awake"); func.BeginPCall(); func.PushGeneric <GameObject>(gameObject); func.PCall(); func.EndPCall(); func.Dispose(); func = null; }
//获取UI特效 public void GetUIEffect(string effname, LuaFunction luaCallBack) { GetEffectObj(effname, (Obj) => { if (Obj != null) { mUIEffectsList.Add(Obj); } if (luaCallBack != null) { luaCallBack.BeginPCall(); luaCallBack.Push(Obj); luaCallBack.PCall(); luaCallBack.EndPCall(); luaCallBack.Dispose(); luaCallBack = null; } }); }
//lua脚本入口 private void LuaMain() { LuaTable lua = GlobalComponent.Instance.Lua.DoFile <LuaTable>("LuaMain"); if (lua == null) { Debug.LogError(">>>>not find lua path LuaMain"); return; } else { LuaFunction cFunc0 = lua.GetLuaFunction("main"); if (cFunc0 != null) { cFunc0.BeginPCall(); cFunc0.PCall(); cFunc0.EndPCall(); } } }
public int CallFuncWithGameObject(string funcName, UnityEngine.GameObject args) { levelLoaded = luaState.GetFunction(funcName); if (levelLoaded != null) { levelLoaded.BeginPCall(); levelLoaded.Push(args); levelLoaded.PCall(); levelLoaded.EndPCall(); luaState.CheckTop(); return(0); } luaState.CheckTop(); return(0); }
protected override void OnLoadFinished() { base.OnLoadFinished(); luaState.DoString(script, "UseList.cs"); List <int> list1 = new List <int>(); list1.Add(1); list1.Add(2); list1.Add(4); LuaFunction func = luaState.GetFunction("Test"); func.BeginPCall(); func.Push(new List <int>()); func.Push(list1); func.PCall(); func.EndPCall(); func.Dispose(); func = null; }
void Start() { Application.logMessageReceived += ShowTips; new LuaResLoader(); state = new LuaState(); state.Start(); LuaBinder.Bind(state); state.DoString(script); state["space"] = Space.World; LuaFunction func = state.GetFunction("TestEnum"); func.BeginPCall(); func.Push(Space.World); func.PCall(); func.EndPCall(); func.Dispose(); func = null; }
public override void End(GameObject Actor) { if (!Application.isPlaying) { return; } LuaManager luaMgr = AppFacade.Instance.GetManager <LuaManager>(); LuaFunction func = luaMgr.mainLua.GetFunction(UIName + ".onCloseHandler"); if (func == null) { return; } func.BeginPCall(); func.Push(handler); func.PCall(); func.EndPCall(); }
public void OnPointerDown(UnityEngine.EventSystems.PointerEventData eventData) { float angle = 0; Vector3 wPos = m_uiCamera.ScreenToWorldPoint(eventData.position); Vector3 lPos = transform.InverseTransformPoint(wPos); if (Vector2.Distance(lPos, Vector2.zero) <= m_radiusPow) { angle = Mathf.Atan2((lPos.y), (lPos.x)) * 180 / Mathf.PI; } if (null != switchsoluTarget) { //LuaManager.instance.CallFunctionNoGC(switchsoluTarget, false, angle); //switchsoluTarget.Call(angle); switchsoluTarget.BeginPCall(); switchsoluTarget.Push(angle); switchsoluTarget.PCall(); switchsoluTarget.EndPCall(); } }
private void Awake() { this.map.Add(1, new TestAccount(1, "水水", 0)); this.map.Add(2, new TestAccount(2, "王伟", 1)); this.map.Add(3, new TestAccount(3, "王芳", 0)); LuaState luaState = new LuaState(); luaState.Start(); this.BindMap(luaState); luaState.DoString(this.script, "UseDictionary.cs"); LuaFunction function = luaState.GetFunction("TestDict", true); function.BeginPCall(); function.Push(this.map); function.PCall(); function.EndPCall(); function.Dispose(); luaState.CheckTop(); luaState.Dispose(); }
/// <summary> /// 单位濒临死亡 /// </summary> /// <param name="unit">死亡单位</param> /// <param name="slayer">攻击者</param> /// <returns>是否进入死亡</returns> public virtual bool OnUnitWillDie(UnitBase unit, UnitBase slayer) { bool shouldDie = true; if (mOnUnitWillDieHandle != null) { mOnUnitWillDieHandle.BeginPCall(); mOnUnitWillDieHandle.Push(mLuaBuff); mOnUnitWillDieHandle.Push(unit); mOnUnitWillDieHandle.Push(slayer); mOnUnitWillDieHandle.PCall(); shouldDie = mOnUnitWillDieHandle.CheckBoolean(); mOnUnitWillDieHandle.EndPCall(); } else { throw new Exception("undefined OnUnitWillDie"); } return(shouldDie); }
//调用函数 protected void CallLuaFunction(string name, params object[] args) { LuaFunction func = null; if (mDicFunc.TryGetValue(name, out func)) { func.BeginPCall(); func.Push(mSelfTable); foreach (var item in args) { func.Push(item); } func.PCall(); func.EndPCall(); } else { // Debug.Log("没有找到方法"); } }
void Start() { Instance = this; lua = new LuaState(); lua.Start(); lua.DoFile("Learn/LearnMain.lua"); LuaFunction funcMain = lua.GetFunction("LearnMain"); if (funcMain != null) { funcMain.BeginPCall(); funcMain.PCall(); int n = (int)funcMain.CheckNumber(); funcMain.EndPCall(); Debug.Log("Chapter Count: " + n); lbb.Init(n); } }
public LuaTable addLuaFile(params object[] args) { LuaFunction func = mLuaState.GetFunction(FuncName.createLuaFile); if (null == func) { return(null); } func.BeginPCall(); foreach (var o in args) { func.Push(o); } func.PCall(); LuaTable table = func.CheckLuaTable(); func.EndPCall(); return(table); }