Update
This commit is contained in:
@@ -238,18 +238,30 @@ namespace Invector.vCamera
|
||||
|
||||
public virtual void ToggleCameraView()
|
||||
{
|
||||
Debug.Log($"[vThirdPersonCamera] ToggleCameraView called. Current Mode: {currentState.cameraMode}");
|
||||
if (currentState.cameraMode == TPCameraMode.FirstPerson)
|
||||
{
|
||||
Debug.Log("[vThirdPersonCamera] Switching to Default (TPV)");
|
||||
ChangeState("Default");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("[vThirdPersonCamera] Switching to FirstPerson");
|
||||
ChangeState("FirstPerson");
|
||||
// If the state "FirstPerson" does not exist in the list,
|
||||
// we force the mode to FirstPerson anyway
|
||||
if (currentStateName != "FirstPerson")
|
||||
|
||||
// If the state was not found in the list, Invector might have reverted it to Default.
|
||||
// We force it here by creating a temporary state if necessary.
|
||||
if (currentState.cameraMode != TPCameraMode.FirstPerson)
|
||||
{
|
||||
currentState.cameraMode = TPCameraMode.FirstPerson;
|
||||
Debug.Log("[vThirdPersonCamera] FirstPerson state not found in list, creating a temporary one to prevent revert.");
|
||||
vThirdPersonCameraState fpState = new vThirdPersonCameraState("FirstPerson");
|
||||
fpState.cameraMode = TPCameraMode.FirstPerson;
|
||||
fpState.defaultDistance = 0;
|
||||
fpState.height = 0;
|
||||
fpState.fov = fpvFOV;
|
||||
|
||||
lerpState = fpState;
|
||||
currentState.CopyState(fpState);
|
||||
currentStateName = "FirstPerson";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user