/// <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; }