/// <summary> /// Invoke a camera effect by index. The feature camera list will be used to locate the actual camera setting: fov, rotation, etc. /// </summary> /// <param name="index"></param> private void StartCameraEffect(int index, EnumShakeEffect shakeEffect = EnumShakeEffect.none, bool forceHold = false) { SkillCamera cam = null; if (index >= 0) { cam = skillCameraList._skillCameraList [index]; Debug.Log("Starting camera effect: " + index + " Name: " + cam.cameraName); _shakeCamera.StopShake(); SetSkillCamera(cam, forceHold); } if (shakeEffect != EnumShakeEffect.none) { _shakeCamera.Shake(shakeEffect.ToString(), shakeEffect == EnumShakeEffect.shake3_loop ? -1f : 0.4f, 1.0f); } }
/// <summary> /// start the camera effect by id, using the specified shake effect. If force to hold, the camera effect will ignore its lasting time /// and keep holding on the settings after fading in until StopCameraEffect() is called. /// </summary> /// <param name="effectID"></param> /// <param name="shakeEffect"></param> /// <param name="forceHold"></param> public void StartCameraEffect(EnumCameraEffect effectID, EnumShakeEffect shakeEffect = EnumShakeEffect.none, bool forceHold = false) { StartCameraEffect((int)effectID, shakeEffect, forceHold); }