- Fixed line thicknesses for floor maps.

- Fixed a camera issue with reloading a round while round 1 is playing video.
- Modem now uses a slightly rougher metal material.
- Round 1 and 3 have better handling for switching cameras from video players.
- Added a method for checking if a GameManager is initialised.
- Added camera switch timers for round 3 ending video and game end.
- Added CameraAnchor tracking for waist-down targeting.
- Added a method to CameraTimedSwitcher to retrieve a defined switch time.
This commit is contained in:
2026-04-14 22:36:27 -04:00
parent 28ab8cbe45
commit 0092bf0767
26 changed files with 1492 additions and 789 deletions
@@ -74,6 +74,16 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
_Timer = 0.0f;
}
}
public float GetTimeBetweenCuts(int Index)
{
if (Index >= 0 && Index < _TimeBetweenCuts.Length)
{
return _TimeBetweenCuts[Index];
}
return 0.0f;
}
public void SwitchToNextCamera()
@@ -83,20 +93,17 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
if (_Active)
{
int CurrentCameraIndex = _NextCameraIndex;
Debug.Log("[CameraTimedSwitcher] Current camera index: " + CurrentCameraIndex);
if (CurrentCameraIndex == _LoopPoint && _LoopedOnce)
{
if (_FirstLoopCallbackObject != null)
{
Debug.Log("[CameraTimedSwitcher] We're on a new loop and a callback is set; running function " + _FirstLoopCallbackFunction + " on object " + _FirstLoopCallbackObject.gameObject.name + " and deactivating");
_FirstLoopCallbackObject.SendCustomEvent(_FirstLoopCallbackFunction);
Activate(false);
return;
}
if (!_Loop)
{
Debug.Log("[CameraTimedSwitcher] On a second loop, but looping is disabled; deactivating");
Activate(false);
return;
}
@@ -106,7 +113,6 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
if (Function != "")
{
_CameraController.SendCustomEvent(Function);
Debug.Log("[CameraTimedSwitcher] Executing function " + Function);
}
_NextCameraIndex = (_NextCameraIndex + 1) % _SwitchFunctions.Length;
@@ -115,12 +121,10 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
{
_LoopedOnce = true;
_NextCameraIndex = _LoopPoint;
Debug.Log("[CameraTimedSwitcher] Setting next camera index to loop point " + _LoopPoint);
}
_Timer = _TimeBetweenCuts[Mathf.Min(CurrentCameraIndex, _TimeBetweenCuts.Length - 1)];
_AwaitingNextSwitch = true;
Debug.Log("[CameraTimedSwitcher] Camera index " + _NextCameraIndex + " will be activated in " + _Timer + " seconds");
}
}
}