void Start()
    {
        // Debug.Log("sdfffffffffffff");

        LuaEnv luaenv = new LuaEnv();

        luaenv.DoString(script);

        CalcNew calc_new = luaenv.Global.GetInPath <CalcNew>("Calc.New");

        luaenv.Global.Set("InvokeLua", this);
        ICalc calc = calc_new(10000, "hi", "john"); //constructor

        Debug.Log("sum(*10) =" + calc.Add(1, 2));
        calc.Mult = 100;
        Debug.Log("sum(*100)=" + calc.Add(1, 2));
        int abc = luaenv.Global.GetInPath <int>("A.B.C");

        Debug.Log("---------" + abc);
        luaenv.Global.SetInPath <int>("A.B.C", 1000);
        int abc1 = luaenv.Global.GetInPath <int>("A.B.C");

        Debug.Log("------1---" + abc1);

        luaenv.Global.Set("tt", 12377);

        int t;

        luaenv.Global.Get("tt", out t);
        Debug.Log("---tt---" + t);

        luaenv.Dispose();
    }
Exemplo n.º 2
0
    void Test(LuaEnv luaenv)
    {
        luaenv.DoString(script);
        CalcNew calc_new = luaenv.Global.GetInPath <CalcNew>("Calc.New");
        ICalc   calc     = calc_new(10, "hi", "john"); //constructor

        Debug.Log("sum(*10) =" + calc.Add(1, 2));
        calc.Mult = 100;
        Debug.Log("sum(*100)=" + calc.Add(1, 2));
    }
Exemplo n.º 3
0
    // Use this for initialization
    void Start()
    {
        LuaEnv luaenv = new LuaEnv();

        luaenv.DoString(script);
        CalcNew calc_new = luaenv.Global.GetInPath <CalcNew>("Calc.New");
        ICalc   calc     = calc_new(10, 23, "hi", "john"); //constructor

        Debug.Log("sum(*10) =" + calc.Add(1, 2));
        calc.Mult = 100;
        Debug.Log("sum(*100)=" + calc.Add(1, 2));
        luaenv.Dispose();
    }
Exemplo n.º 4
0
    void Test(LuaEnv luaenv)
    {
        luaenv.DoString(script);
        //声明代理对象,把它和lua Calc的New方法绑定,mult=mult;...=args
        CalcNew calc_new = luaenv.Global.GetInPath <CalcNew>("Calc.New");
        //通过委托传参给New,打印“hi","john",calc_mt的元表,Mult设置为10
        ICalc calc = calc_new(10, "hi", "john"); //constructor

        //调用元表的add方法,calc作为接口可以使用add和mult属性方法,this.Mult=10(通过元表设置)
        //local calc_mt,定义了Calc元表的__index,查找不到add方法,自动执行了__index
        Debug.Log("sum(*10) =" + calc.Add(1, 2));
        //通过接口get set方法,改变元表Mult
        calc.Mult = 100;
        Debug.Log("sum(*100)=" + calc.Add(1, 2));
    }
Exemplo n.º 5
0
        void Test(LuaEnv luaEnv)
        {
            luaEnv.DoString(luaScript.text);
            CalcNew calc_new = luaEnv.Global.GetInPath <CalcNew>("Calc.New");
            ICalc   calc     = calc_new(10, "hi", "john");

            Debug.Log("sum(*10) = " + calc.Add(1, 2));
            calc.Mult = 100;
            Debug.Log("sum(*100) = " + calc.Add(1, 2));
            Debug.Log("list[0]=" + calc[0]);
            Debug.Log("list[1]=" + calc[1]);

            calc.PropertyChanged += Notify;
            calc[1] = "dddd";
            Debug.Log("List[1]=" + calc[1]);

            calc.PropertyChanged -= Notify;
            calc[1] = "eeee";
            Debug.Log("List[1]=" + calc[1]);
        }
Exemplo n.º 6
0
        void Test()
        {
            XLuaEnv.DoString(script);
            CalcNew calc_new = XLuaEnv.gtable.GetInPath <CalcNew>("Calc.New");
            ICalc   calc     = calc_new(10, "hi", "john"); //constructor

            Debug.Log("sum(*10) =" + calc.Add(1, 2));
            calc.Mult = 100;
            Debug.Log("sum(*100)=" + calc.Add(1, 2));

            Debug.Log("list[0]=" + calc[0]);
            Debug.Log("list[1]=" + calc[1]);

            calc.PropertyChanged += Notify;
            calc[1] = "dddd";
            Debug.Log("list[1]=" + calc[1]);

            calc.PropertyChanged -= Notify;

            calc[1] = "eeee";
            Debug.Log("list[1]=" + calc[1]);
        }