コード例 #1
0
        /// <summary>
        /// 执行lua脚本
        /// </summary>
        /// <param name="script">lua 脚本</param>
        public static void Execute(string script)
        {
            var context = AppUtils.GetAppContext;

            if (context == null)
            {
                throw new LuaException("AppUtils.GetAppContext = null");
            }

            var intent = new Intent(context, Java.Lang.Class.FromType(typeof(ScriptExecuteActivity)))
                         .AddFlags(ActivityFlags.NewTask);

            IntentExtras.NewExtras()
            .Put("luaScript", script)
            .PutInIntent(intent);
            context.StartActivity(intent);
        }
コード例 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            var extras = IntentExtras.FromIntentAndRelease(Intent);

            if (extras == null)
            {
                Finish();
                return;
            }

            var script = extras.Get <string>("luaScript");

            if (string.IsNullOrWhiteSpace(script))
            {
                Finish();
                return;
            }

            //初始化lua全局函数
            LuaGlobal.Instance.Init();

            AppApplication.LuaThread = new Thread(() =>
            {
                try
                {
                    AppApplication.Lua?.DoFile(script);
                }
                catch (LuaException e)
                {
                    AppApplication.OnLog("异常", e.Message, Color.Red);
                }
            });

            AppApplication.LuaThread.Start();
        }