Exemplo n.º 1
0
        /// <summary>
        /// Initialises the Lua environment and compiles the Lua string for execution later on.
        /// </summary>
        protected virtual void InitLuaScript()
        {
            if (initialised)
            {
                return;
            }

            if (LuaEnv == null &&
                luaEnvironment != null)
            {
                LuaEnv = luaEnvironment as ILuaEnvironment;
            }

            if (LuaEnv == null)
            {
                // Create a Lua Environment if none exists yet
                LuaEnv = LuaEnvironment.GetLua();
            }

            if (LuaEnv == null)
            {
                Debug.LogError("No Lua Environment found");
                return;
            }

            // Ensure the LuaEnvironment is initialized before trying to execute code
            LuaEnv.InitEnvironment();

            // Cache a descriptive name to use in Lua error messages
            friendlyName = GetPath(transform) + ".LuaScript";

            string s = GetLuaString();

            luaFunction = LuaEnv.LoadLuaFunction(s, friendlyName);

            initialised = true;
        }