This commit is contained in:
2026-06-04 23:01:39 +07:00
parent 45d3fe8c21
commit 67910bf6c8
68 changed files with 5978 additions and 404 deletions

View File

@@ -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";
}
}