示例#1
0
    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;
        }
    }
示例#2
0
 private void InitLuaPath()
 {
     if (!GameSetting.DevelopMode)
     {
         SimpleLuaClient.GetMainState().AddSearchPath(Tools.DataPath + "lua");
     }
 }
示例#3
0
    public object[] CallFunction(string funcName, params object[] args)
    {
        LuaFunction func = SimpleLuaClient.GetMainState().GetFunction(funcName);

        if (func != null)
        {
            return(func.Call(args));
        }
        return(null);
    }
示例#4
0
 private void InitLuaPath()
 {
     if (EngineConfig.instance.IsDevelopMode)
     {
         if (!EngineConfig.instance.IsLuaBundleMode)
         {
             SimpleLuaClient.GetMainState().AddSearchPath(LuaConst.luaDir);
             SimpleLuaClient.GetMainState().AddSearchPath(LuaConst.toluaDir);
         }
     }
 }
示例#5
0
    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;
    }
示例#6
0
    //避免在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;
//		}
    }
示例#7
0
 private void Awake()
 {
     mSimpleLuaClient = gameObject.AddComponent <SimpleLuaClient>();
     InitLuaLoaderSearchPath();
 }
示例#8
0
 private void Awake()
 {
     mSimpleLuaClient = gameObject.AddComponent <SimpleLuaClient>();
 }
示例#9
0
 public void StopSimpleLuaClient()
 {
     GameObject.Destroy(mSimpleLuaClient);
     mSimpleLuaClient = null;
 }
示例#10
0
 public void StartSimpleLuaClinet()
 {
     mSimpleLuaClient = gameObject.AddComponent <SimpleLuaClient>();
     InitLuaPath();
     mSimpleLuaClient.OnLuaFilesLoaded();
 }
示例#11
0
 private void Awake()
 {
     mSimpleLuaClient = gameObject.AddComponent<SimpleLuaClient>();
 }