private static int StopSkillScreenEffect(IntPtr L) { // 如果处于CG中,当前相机会enable false,此时忽略这些效果 Camera cam = Main.Main3DCamera; if (cam == null || !cam.enabled) { return(0); } int count = LuaDLL.lua_gettop(L); const int nRet = 0; if (LuaScriptMgr.CheckTypes(L, 1, typeof(double))) { int effect_type = (int)LuaScriptMgr.GetNumber(L, 1); if (effect_type == 1) // 打断相机振动 { string key = (string)LuaScriptMgr.GetString(L, 2); CameraShaker cs = cam.gameObject.GetComponent <CameraShaker>(); if (cs != null && key != string.Empty) { cs.RemoveShakeNodeByKey(key); } else { HobaDebuger.LogWarning("error in StopSkillScreenEffect value check !"); } } else if (effect_type == 2) // 打断相机距离变换 { CCamCtrlMan.Instance.StopCameraStretching(); } else if (effect_type == 3) // 打断RadialBlur { var obj_go = LuaScriptMgr.GetUnityObject <GameObject>(L, 2); var blur = obj_go.GetComponentInChildren <RadialBlurBoot>(); if (blur != null) { blur.StopEffect(); } } } return(CheckReturnNum(L, count, nRet)); }