/// <summary> /// 播放径向模糊效果 /// </summary> /// <returns>The radial blur.</returns> /// <param name="toBlurFactor">To blur factor.</param> /// <param name="duration">Duration.</param> /// <param name="callback">Callback.</param> /// <param name="cam">Cam.</param> public static RadialBlur PlayRadialBlur(float toBlurFactor, float duration, LuaFunction callback = null, Camera cam = null) { if (cam == null) { cam = Camera.main; } RadialBlur radialBlur = (RadialBlur)AddOrGetComponent(cam.gameObject, typeof(RadialBlur)); if (radialBlur.shader == null) { radialBlur.shader = (Shader)ResManager.LoadAsset("Shaders/PostEffect/RadialBlur.shader", Stage.currentSceneName); } Action action = null; if (callback != null) { action = () => { callback.BeginPCall(); callback.Call(); callback.EndPCall(); } } ; radialBlur.Play(toBlurFactor, duration, action); return(radialBlur); }
static int Play(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 3) { ShibaInu.RadialBlur obj = (ShibaInu.RadialBlur)ToLua.CheckObject <ShibaInu.RadialBlur>(L, 1); float arg0 = (float)LuaDLL.luaL_checknumber(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); obj.Play(arg0, arg1); return(0); } else if (count == 4) { ShibaInu.RadialBlur obj = (ShibaInu.RadialBlur)ToLua.CheckObject <ShibaInu.RadialBlur>(L, 1); float arg0 = (float)LuaDLL.luaL_checknumber(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); System.Action arg2 = (System.Action)ToLua.CheckDelegate <System.Action>(L, 4); obj.Play(arg0, arg1, arg2); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: ShibaInu.RadialBlur.Play")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }