- Improved camera switching code to allow for more versatile camera direction.

- Added additional camera layouts for round 2 and 3.
This commit is contained in:
2025-12-20 23:19:19 -05:00
parent 08897ba99f
commit 82606881b3
29 changed files with 1294 additions and 420 deletions
+1
View File
@@ -593,6 +593,7 @@ MonoBehaviour:
currentlyHeldBy: {fileID: 0}
pickupable: 1
proximity: 0.1
version: 0
--- !u!20 &5542997801820577511
Camera:
m_ObjectHideFlags: 0
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -116,19 +116,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _SwitchToCamera
Data: _SwitchFunction
- Name: $v
Entry: 7
Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _SwitchToCamera
Data: _SwitchFunction
- Name: <UserType>k__BackingField
Entry: 7
Data: 8|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Camera, UnityEngine.CoreModule
Data: System.String, mscorlib
- Name:
Entry: 8
Data:
@@ -10,14 +10,14 @@ using VRC.Udon.Common.Interfaces;
public class CameraSwitchTrigger : UdonSharpBehaviour
{
[SerializeField] private CameraControllerBase _CameraController;
[SerializeField] private Camera _SwitchToCamera;
[SerializeField] private string _SwitchFunction;
public override void OnPlayerTriggerEnter(VRCPlayerApi Player)
{
if (Networking.GetOwner(_CameraController.gameObject) == Networking.LocalPlayer)
{
_CameraController.SwitchToLiveCamera(_SwitchToCamera);
_CameraController.SendCustomEvent(_SwitchFunction);
}
base.OnPlayerTriggerEnter(Player);
@@ -116,19 +116,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _Cameras
Data: _SwitchFunctions
- Name: $v
Entry: 7
Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Cameras
Data: _SwitchFunctions
- Name: <UserType>k__BackingField
Entry: 7
Data: 8|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Camera[], UnityEngine.CoreModule
Data: System.String[], mscorlib
- Name:
Entry: 8
Data:
@@ -11,7 +11,7 @@ using VRC.Udon;
public class CameraTimedSwitcher : UdonSharpBehaviour
{
[SerializeField] private CameraControllerBase _CameraController;
[SerializeField] private Camera[] _Cameras;
[SerializeField] private string[] _SwitchFunctions;
[SerializeField] private float _TimeBetweenCuts = 5.0f;
@@ -24,8 +24,8 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
{
if (_Active)
{
_CameraController.SwitchToLiveCamera(_Cameras[_NextCameraIndex]);
_NextCameraIndex = (_NextCameraIndex + 1) % _Cameras.Length;
_CameraController.SendCustomEvent(_SwitchFunctions[_NextCameraIndex]);
_NextCameraIndex = (_NextCameraIndex + 1) % _SwitchFunctions.Length;
SendCustomEventDelayedSeconds(nameof(SwitchToNextCamera), _TimeBetweenCuts);
}
@@ -79,31 +79,26 @@ public class CameraControllerRound1 : CameraControllerBase
public void SwitchToPlayer1Camera()
{
DisableAllSwitchers();
SwitchToLiveCamera(Player1Camera);
}
public void SwitchToPlayer2Camera()
{
DisableAllSwitchers();
SwitchToLiveCamera(Player2Camera);
}
public void SwitchToPlayer3Camera()
{
DisableAllSwitchers();
SwitchToLiveCamera(Player3Camera);
}
public void SwitchToHostCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(HostCamera);
}
public void SwitchToVideoPlayerCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(VideoPlayerCamera);
}
@@ -114,7 +109,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToWideShotCamera()
{
DisableAllSwitchers();
ActivateWideShotCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@@ -125,7 +119,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToVideoMusicClueCamera()
{
DisableAllSwitchers();
ActivateVideoMusicClueCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@@ -136,7 +129,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToACMECrimenetComputerCamera()
{
DisableAllSwitchers();
ActivateACMECrimenetComputerCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@@ -147,7 +139,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToFilingCabinetCamera()
{
DisableAllSwitchers();
ActivateFilingCabinetCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@@ -158,7 +149,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToAllPlayersCamera()
{
DisableAllSwitchers();
ActivateAllPlayersCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@@ -169,7 +159,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToModemCamera()
{
DisableAllSwitchers();
ActivateModemCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 12
Data: 18
- Name:
Entry: 7
Data:
@@ -455,19 +455,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: Player1CameraAnchor
Data: HostAndAllPlayersCameraTrigger
- Name: $v
Entry: 7
Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player1CameraAnchor
Data: HostAndAllPlayersCameraTrigger
- Name: <UserType>k__BackingField
Entry: 7
Data: 28|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraAnchor, Assembly-CSharp
Data: CameraTimerSwitchTrigger, Assembly-CSharp
- Name:
Entry: 8
Data:
@@ -491,7 +491,7 @@ MonoBehaviour:
Data: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 4
Data: 2
- Name:
Entry: 7
Data: 30|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
@@ -503,25 +503,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 31|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 32|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 33|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 31|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -542,16 +524,22 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: Player2CameraAnchor
Data: HostAllPlayersTimerToggle
- Name: $v
Entry: 7
Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 32|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player2CameraAnchor
Data: HostAllPlayersTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 28
Entry: 7
Data: 33|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraTimedSwitcher, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@@ -569,10 +557,19 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 35|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
Data: 2
- Name:
Entry: 7
Data: 35|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 36|UnityEngine.SerializeField, UnityEngine.CoreModule
@@ -596,16 +593,16 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: HostAndWinnerCameraAnchor
Data: HostPlayersAndWideShotTimerToggle
- Name: $v
Entry: 7
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: HostAndWinnerCameraAnchor
Data: HostPlayersAndWideShotTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 28
Data: 33
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@@ -650,16 +647,22 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: LocationBoardCameraAnchor
Data: Player1CameraAnchor
- Name: $v
Entry: 7
Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: LocationBoardCameraAnchor
Data: Player1CameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 28
Entry: 7
Data: 41|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraAnchor, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@@ -677,13 +680,238 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 41|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 43|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 44|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: Player2CameraAnchor
- Name: $v
Entry: 7
Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player2CameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 46|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 42|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 47|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: HostAndWinnerCameraAnchor
- Name: $v
Entry: 7
Data: 48|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: HostAndWinnerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 49|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 50|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: LocationBoardCameraAnchor
- Name: $v
Entry: 7
Data: 51|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: LocationBoardCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 53|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: ModemCameraAnchor
- Name: $v
Entry: 7
Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: ModemCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 55|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 56|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -707,13 +935,13 @@ MonoBehaviour:
Data: VideoPlayerCameraAnchor
- Name: $v
Entry: 7
Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 57|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoPlayerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 28
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@@ -731,13 +959,130 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 44|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 45|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 59|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: WideShotCameraAnchor
- Name: $v
Entry: 7
Data: 60|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: WideShotCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 62|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 63|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: AllPlayersCameraAnchor
- Name: $v
Entry: 7
Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: AllPlayersCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 65|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 66|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -17,16 +17,20 @@ public class CameraControllerRound2 : CameraControllerBase
[SerializeField] public Camera PrimaryFocusCamera;
[SerializeField] public Camera VideoPlayerCamera;
[Space]
//[SerializeField] public CameraTimerSwitchTrigger HostCameraTrigger;
[SerializeField] public CameraTimerSwitchTrigger HostAndAllPlayersCameraTrigger;
[Space]
//[SerializeField] public CameraTimedSwitcher HostAndAllPlayersTimerToggle;
//[SerializeField] public CameraTimedSwitcher HostAndIndividualPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher HostAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher HostPlayersAndWideShotTimerToggle;
[Space]
[SerializeField] public CameraAnchor Player1CameraAnchor;
[SerializeField] public CameraAnchor Player2CameraAnchor;
[SerializeField] public CameraAnchor HostAndWinnerCameraAnchor;
[SerializeField] public CameraAnchor LocationBoardCameraAnchor;
[SerializeField] public CameraAnchor ModemCameraAnchor;
[SerializeField] public CameraAnchor VideoPlayerCameraAnchor;
[Space]
[SerializeField] public CameraAnchor WideShotCameraAnchor;
[SerializeField] public CameraAnchor AllPlayersCameraAnchor;
public override void InitialiseCameras()
@@ -47,79 +51,99 @@ public class CameraControllerRound2 : CameraControllerBase
Networking.SetOwner(Player, PrimaryFocusCamera.gameObject);
Networking.SetOwner(Player, VideoPlayerCamera.gameObject);
Networking.SetOwner(Player, HostAndAllPlayersCameraTrigger.gameObject);
Networking.SetOwner(Player, HostAllPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, HostPlayersAndWideShotTimerToggle.gameObject);
Networking.SetOwner(Player, Player1CameraAnchor.gameObject);
Networking.SetOwner(Player, Player2CameraAnchor.gameObject);
Networking.SetOwner(Player, HostAndWinnerCameraAnchor.gameObject);
Networking.SetOwner(Player, LocationBoardCameraAnchor.gameObject);
Networking.SetOwner(Player, VideoPlayerCameraAnchor.gameObject);
Networking.SetOwner(Player, WideShotCameraAnchor.gameObject);
Networking.SetOwner(Player, AllPlayersCameraAnchor.gameObject);
base.OnOwnershipTransferred(Player);
}
public void SwitchToPlayer1Camera()
{
DisableAllSwitchers();
SwitchToLiveCamera(Player1Camera);
}
public void SwitchToPlayer2Camera()
{
DisableAllSwitchers();
SwitchToLiveCamera(Player2Camera);
}
public void SwitchToHostAndWinnerCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(HostAndWinnerCamera);
}
public void SwitchToVideoPlayerCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(VideoPlayerCamera);
}
public void ActivateWideShotCamera()
{
//DefaultWideShotCameraAnchor.AttachCamera(PrimaryFocusCamera);
WideShotCameraAnchor.AttachCamera(PrimaryFocusCamera);
}
public void SwitchToWideShotCamera()
{
//DisableAllSwitchers();
//ActivateWideShotCamera();
//SwitchToLiveCamera(PrimaryFocusCamera);
ActivateWideShotCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
public void ActivateAllPlayersCamera()
{
AllPlayersCameraAnchor.AttachCamera(PrimaryFocusCamera);
}
public void SwitchToAllPlayersCamera()
{
ActivateAllPlayersCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
public void ActivateHostAllPlayersCameraSwitcher()
{
//ActivateAllPlayersCamera();
//HostAndIndividualPlayersTimerToggle.Activate = false;
//HostAndAllPlayersTimerToggle.Activate = true;
ActivateAllPlayersCamera();
HostAllPlayersTimerToggle.Activate = true;
HostPlayersAndWideShotTimerToggle.Activate = false;
}
public void ActivateHostPlayersAndWideShotCameraSwitcher()
{
ActivateWideShotCamera();
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = true;
}
public void ActivateHostCameraTrigger()
public void ActivateHostAllPlayersCameraTrigger()
{
//HostCameraTrigger.gameObject.SetActive(true);
HostAndAllPlayersCameraTrigger.gameObject.SetActive(true);
}
public void DeactivateHostCameraTrigger()
public void DeactivateHostAllPlayersCameraTrigger()
{
//HostCameraTrigger.gameObject.SetActive(false);
HostAndAllPlayersCameraTrigger.gameObject.SetActive(false);
}
public override void DisableAllTriggers()
{
//HostCameraTrigger.gameObject.SetActive(false);
HostAndAllPlayersCameraTrigger.gameObject.SetActive(false);
}
public override void DisableAllSwitchers()
{
//HostAndAllPlayersTimerToggle.Activate = false;
//HostAndIndividualPlayersTimerToggle.Activate = false;
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
}
}
@@ -92,31 +92,26 @@ public class CameraControllerRound3 : CameraControllerBase
public void SwitchToPlayerCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(PlayerCamera);
}
public void SwitchToHostCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(HostCamera);
}
public void SwitchToOverheadCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(OverheadCamera);
}
public void SwitchToFrontCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(FrontCamera);
}
public void SwitchToVideoPlayerCamera()
{
DisableAllSwitchers();
SwitchToLiveCamera(VideoPlayerCamera);
}
@@ -146,14 +141,6 @@ public class CameraControllerRound3 : CameraControllerBase
}
public void ChangeMarkerCameraPosition()
{
HostCameraAnchorSequence[MarkerCameraAnchorPosition].AttachCamera(HostCamera);
PlayerCameraAnchorSequence[MarkerCameraAnchorPosition].AttachCamera(PlayerCamera);
RequestSerialization();
}
public void PlayIFeelGood(bool Play)
{
PlayIFeelGoodCallback = Play;
@@ -193,10 +180,16 @@ public class CameraControllerRound3 : CameraControllerBase
set
{
_MarkerCameraAnchorPosition = value;
ChangeMarkerCameraPosition();
_ChangeMarkerCameraPosition();
}
get => _MarkerCameraAnchorPosition;
}
private void _ChangeMarkerCameraPosition()
{
HostCameraAnchorSequence[MarkerCameraAnchorPosition].AttachCamera(HostCamera);
PlayerCameraAnchorSequence[MarkerCameraAnchorPosition].AttachCamera(PlayerCamera);
RequestSerialization();
}
private bool PlayIFeelGoodCallback
{
@@ -169,6 +169,7 @@ public class GameManagerRound1 : GameManagerBase
private void PlayIntroVideo()
{
_CameraControllerRound1.DeactivateHostCameraTrigger();
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToHostCamera();
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "FadeOutMusic");
@@ -313,6 +314,7 @@ public class GameManagerRound1 : GameManagerBase
{
case 0:
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoMusicClueCamera();
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.VideoMusicClue);
@@ -540,6 +542,7 @@ public class GameManagerRound1 : GameManagerBase
_QuestionCorrectResponse = (int)_CurrentQuestion["Correct Response"].Number;
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 1");
@@ -557,6 +560,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.As5);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 2");
@@ -574,6 +578,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.C6);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 3");
@@ -619,10 +624,11 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.D6);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 2.0f);
EnableInteraction("Lock Answers");
EnableInteraction("Get Player 1's Response");
}
private void MultipleChoiceLockAnswers()
@@ -650,46 +656,40 @@ public class GameManagerRound1 : GameManagerBase
}
}
EnableInteraction("Focus On Player 1");
EnableInteraction("Get Player 1's Response");
}
private void MultipleChoiceFocusOnPlayer1()
private void MultipleChoiceFocusOnPlayer(int PlayerNumber)
{
for (int i = 0; i < _PlayerPodiums.Length; i++)
{
_PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.All, "LockInChoice");
_PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.Owner, "ShowAuxiliaryMapScreen", false);
}
HostCardBetweenRoundsInterface Interface =
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
Interface.CommentUI.text = "What did you pick?";
for (int i = 0; i < _PlayerPodiums.Length; i++)
{
_PlayerPodiums[i].HighlightPodium(false);
}
_PlayerPodiums[0].HighlightPodium(true);
int PlayerIndex = PlayerNumber - 1;
_PlayerPodiums[PlayerIndex].HighlightPodium(true);
Interface.HeaderUI.text = _PlayerPodiums[PlayerIndex].PlayerName;
_CameraControllerRound1.SwitchToPlayer1Camera();
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SendCustomEvent("SwitchToPlayer" + PlayerNumber + "Camera");
EnableInteraction("Focus On Player 2");
}
private void MultipleChoiceFocusOnPlayer2()
if (PlayerNumber < _PlayerPodiums.Length)
{
for (int i = 0; i < _PlayerPodiums.Length; i++)
{
_PlayerPodiums[i].HighlightPodium(false);
EnableInteraction("Get Player " + (PlayerNumber + 1) + "'s Response");
}
_PlayerPodiums[1].HighlightPodium(true);
_CameraControllerRound1.SwitchToPlayer2Camera();
EnableInteraction("Focus On Player 3");
}
private void MultipleChoiceFocusOnPlayer3()
else
{
for (int i = 0; i < _PlayerPodiums.Length; i++)
{
_PlayerPodiums[i].HighlightPodium(false);
EnableInteraction("Reveal Correct Answer");
}
_PlayerPodiums[2].HighlightPodium(true);
_CameraControllerRound1.SwitchToPlayer3Camera();
EnableInteraction("Reveal Answers And Assign Points");
}
private void MultipleChoiceRevealAnswersAndAssignPoints()
@@ -725,6 +725,7 @@ public class GameManagerRound1 : GameManagerBase
_VideoPlayer.FlashCorrectAnswer = true;
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Next Question");
@@ -733,6 +734,7 @@ public class GameManagerRound1 : GameManagerBase
private void BeginLightningRound()
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToWideShotCamera();
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(PlayLightningRoundAnimation));
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 3.0f);
@@ -885,6 +887,7 @@ public class GameManagerRound1 : GameManagerBase
private void PlayTheChaseMusic()
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToWideShotCamera();
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 5.0f);
@@ -947,6 +950,7 @@ public class GameManagerRound1 : GameManagerBase
{
_VideoPlayer.SubMapIndex = _QuestionSubstage * 2;
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
}
@@ -979,6 +983,7 @@ public class GameManagerRound1 : GameManagerBase
}
public void TheChaseEndClue()
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
@@ -1015,8 +1020,7 @@ public class GameManagerRound1 : GameManagerBase
"- Now it's time for the final clue of this round, which means you have to decide how many of your ACME Crimebucks you want to risk.\n" +
"- If you're right, we'll add that amount to your score.\n" +
"- If you're not right, we'll subtract that amount from your score.\n" +
"- You can risk 0, 10, 20, 30, 40, or 50 ACME Crimebucks.\n\n" +
"- Choose how much to risk by placing your wager to the other side of your podium.";
"- You can risk 0, 10, 20, 30, 40, or 50 ACME Crimebucks.";
LoadMapsIntoQueue();
@@ -1055,6 +1059,7 @@ public class GameManagerRound1 : GameManagerBase
"PlayMusic", MusicEventType.ThinkAboutIt);
SendCustomEventDelayedSeconds(nameof(ThinkAboutItCountdownFinished), 15.0f);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToVideoPlayerCamera", 2.0f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToPlayer1Camera", 4.5f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToPlayer2Camera", 7.0f);
@@ -1117,6 +1122,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.As5);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 2");
@@ -1132,6 +1138,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.C6);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 3");
@@ -1176,6 +1183,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.D6);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 2.0f);
@@ -1242,6 +1250,7 @@ public class GameManagerRound1 : GameManagerBase
{
int PlayerNumber = _FinalRoundPlayersSortedByScore[PlayerPlace - 1];
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SendCustomEvent("SwitchToPlayer" + PlayerNumber + "Camera");
HostCardBetweenRoundsInterface Interface =
@@ -1274,6 +1283,7 @@ public class GameManagerRound1 : GameManagerBase
EnableInteraction("Reveal Next Player Answer");
}
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToAllPlayersCamera", 1.5f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 4.0f);
}
@@ -1438,6 +1448,7 @@ public class GameManagerRound1 : GameManagerBase
{
_Modem.Teleport();
SendCustomEventDelayedSeconds(nameof(_ContinueToRound2_Private), 2.5f);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToModemCamera();
}
public void _ContinueToRound2_Private()
@@ -1683,15 +1694,19 @@ public class GameManagerRound1 : GameManagerBase
switch (_BuzzedInPlayer)
{
case 1:
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToPlayer1Camera();
break;
case 2:
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToPlayer2Camera();
break;
case 3:
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToPlayer3Camera();
break;
default:
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToAllPlayersCamera();
break;
}
@@ -1770,12 +1785,12 @@ public class GameManagerRound1 : GameManagerBase
case 2: MultipleChoiceRevealChoice1(); break;
case 3: MultipleChoiceRevealChoice2(); break;
case 4: MultipleChoiceRevealChoice3(); break;
case 5: MultipleChoiceLockAnswers(); break;
case 6: MultipleChoiceFocusOnPlayer1(); break;
case 7: MultipleChoiceFocusOnPlayer2(); break;
case 8: MultipleChoiceFocusOnPlayer3(); break;
case 9: MultipleChoiceRevealAnswersAndAssignPoints(); break;
case 10: AdvanceToNextQuestion(); break;
//case 5: MultipleChoiceLockAnswers(); break;
case 5: MultipleChoiceFocusOnPlayer(1); break;
case 6: MultipleChoiceFocusOnPlayer(2); break;
case 7: MultipleChoiceFocusOnPlayer(3); break;
case 8: MultipleChoiceRevealAnswersAndAssignPoints(); break;
case 9: AdvanceToNextQuestion(); break;
default: break;
}
}
@@ -1863,14 +1878,15 @@ public class GameManagerRound1 : GameManagerBase
private void _PlayVideo()
{
_CameraControllerRound1.SwitchToHostCamera();
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToHostCamera();
_VideoPlayer.PlayVideo = true;
SendCustomEventDelayedSeconds(nameof(SwitchToTVCamera), 2.0f);
}
public void SwitchToTVCamera()
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
SendCustomEventDelayedSeconds(nameof(CheckVideoPlayerTimeToEnd), 0.25f);
}
@@ -1880,6 +1896,7 @@ public class GameManagerRound1 : GameManagerBase
{
if ((_VideoPlayer.GetVideoDuration() - _VideoPlayer.GetVideoTime()) <= 2.0f)
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToHostCamera();
}
else
@@ -71,6 +71,8 @@ public class GameManagerRound2 : GameManagerBase
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(EnableAudienceSilencer), true);
_CameraControllerRound2.InitialiseCameras();
_CameraControllerRound2.DisableAllSwitchers();
_CameraControllerRound2.ActivateHostAllPlayersCameraTrigger();
RequestSerialization();
}
@@ -162,6 +164,9 @@ public class GameManagerRound2 : GameManagerBase
private void DisplayBriefing()
{
_CameraControllerRound2.DeactivateHostAllPlayersCameraTrigger();
_CameraControllerRound2.ActivateHostPlayersAndWideShotCameraSwitcher();
HostCardRecoverTheLootExplainerInterface RecoverTheLootInterface =
(HostCardRecoverTheLootExplainerInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLootExplainer);
@@ -190,6 +190,7 @@ public class GameManagerRound3 : GameManagerBase
_GameStatus = GameStatus.Begin;
UpdateInterface();
_CameraControllerRound3.DisableAllSwitchers();
_CameraControllerRound3.HostPlayerTimerToggle.Activate = false;
_CameraControllerRound3.ActivatePlayfieldSwitchTriggerGroup = true;
GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", true);
@@ -323,8 +324,7 @@ public class GameManagerRound3 : GameManagerBase
GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", true);
}
//_HostCameraAnchors[ActiveMarker].AttachCamera(_HostCamera);
//_PlayerCameraAnchors[ActiveMarker].AttachCamera(_PlayerCamera);
_CameraControllerRound3.MarkerCameraAnchorPosition = ActiveMarker;
}
[NetworkCallable]
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: BoneFollower
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: ccbda9bf23e2f714c9226283c77a92e5,
serializedUdonProgramAsset: {fileID: 11400000, guid: 52ecc8a73071e8e40928c3609699fcf4,
type: 2}
udonAssembly:
assemblyError:
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: InteractToggle
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 405e38d3dfb2f514daeed0e28fbb4864,
serializedUdonProgramAsset: {fileID: 11400000, guid: 873dfce61b1514e429c92e0d2fded7de,
type: 2}
udonAssembly:
assemblyError:
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: PlayerModSetter
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: f938e6c4ff027a74da405a1f9353fd2b,
serializedUdonProgramAsset: {fileID: 11400000, guid: e81558796a212ab4d88e305e2010f24b,
type: 2}
udonAssembly:
assemblyError:
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: GlobalToggleObject
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: c49c9265a3ef24642a6a4465d0a78872,
serializedUdonProgramAsset: {fileID: 11400000, guid: 2fe8ced6184000f49bca526cd2c5891c,
type: 2}
udonAssembly:
assemblyError:
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: MasterToggleObject
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 04024a76ab1924042ba521e11cb76d91,
serializedUdonProgramAsset: {fileID: 11400000, guid: a2d01d9f36ac6df49831be249e48ecc4,
type: 2}
udonAssembly:
assemblyError:
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: TrackingDataFollower
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 17f8fbbe6cc186d4f8dbb057b01a4ec2,
serializedUdonProgramAsset: {fileID: 11400000, guid: 1b89d4552983c0448a7389decec3b555,
type: 2}
udonAssembly:
assemblyError:
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: WorldAudioSettings
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 128d924a3066b7546b2d1c73e61006ab,
serializedUdonProgramAsset: {fileID: 11400000, guid: 994b559b0f158b4499f8937980ed8694,
type: 2}
udonAssembly:
assemblyError:
Submodule Assets/VRChatCameraSystem updated: 46de010033...7145f5a5dd