public void SetLuaTable(LuaTable tb) { mLuaState = SimpleLuaClient.GetMainState(); if (mLuaState == null) { return; } if (tb == null) { mLuaTable = mLuaState.GetTable("NetworkManager"); } else { mLuaTable = tb; } if (mLuaTable == null) { Debug.LogWarning("NetworkManager is null:"); return; } else { mLuaOnSocketDataFunc = mLuaTable.GetLuaFunction("on_socket_data") as LuaFunction; } }
private void InitLuaPath() { if (!GameSetting.DevelopMode) { SimpleLuaClient.GetMainState().AddSearchPath(Tools.DataPath + "lua"); } }
public object[] CallFunction(string funcName, params object[] args) { LuaFunction func = SimpleLuaClient.GetMainState().GetFunction(funcName); if (func != null) { return(func.Call(args)); } return(null); }
private void InitLuaPath() { if (EngineConfig.instance.IsDevelopMode) { if (!EngineConfig.instance.IsLuaBundleMode) { SimpleLuaClient.GetMainState().AddSearchPath(LuaConst.luaDir); SimpleLuaClient.GetMainState().AddSearchPath(LuaConst.toluaDir); } } }
public void Init(LuaTable tb, string tableName) { 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; } if (!string.IsNullOrEmpty(tableName)) { LuaTableName = tableName; } 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; }
//避免在lua里面频繁调用find的手段,空间换时间的手段 // public List<RectTransform> trans = new List<RectTransform> (); // public List<UnityEngine.UI.Slider> sliders = new List<UnityEngine.UI.Slider> (); // public List<UnityEngine.UI.Text> texts = new List<UnityEngine.UI.Text> (); // public List<UnityEngine.UI.Image> images = new List<UnityEngine.UI.Image> (); public void Init(LuaTable tb) { LuaState mLuaState = SimpleLuaClient.GetMainState(); if (mLuaState == null) { return; } LuaTable mLuaTable = null; if (tb == null) { Debug.LogError("UILuaBehaviour:nil"); } else { mLuaTable = tb; } if (mLuaTable == null) { Debug.LogWarning("mLuaTable is null:" + name); return; } mLuaTable["gameObject"] = gameObject; mLuaTable["transform"] = transform; mLuaTable["ui_lua_behaviour"] = this; // foreach (var tran in trans) { // mLuaTable ["cross_rect_transform_" + tran.name] = tran; // } // foreach (var slider in sliders) { // mLuaTable ["cross_slider_" + slider.name] = slider; // } // foreach (var text in texts) { // mLuaTable ["cross_text_" + text.name] = text; // } // foreach (var image in images) { // mLuaTable ["cross_image_" + image.name] = image; // } }
private void Awake() { mSimpleLuaClient = gameObject.AddComponent <SimpleLuaClient>(); InitLuaLoaderSearchPath(); }
private void Awake() { mSimpleLuaClient = gameObject.AddComponent <SimpleLuaClient>(); }
public void StopSimpleLuaClient() { GameObject.Destroy(mSimpleLuaClient); mSimpleLuaClient = null; }
public void StartSimpleLuaClinet() { mSimpleLuaClient = gameObject.AddComponent <SimpleLuaClient>(); InitLuaPath(); mSimpleLuaClient.OnLuaFilesLoaded(); }
private void Awake() { mSimpleLuaClient = gameObject.AddComponent<SimpleLuaClient>(); }