Compare commits

...

14 Commits

Author SHA1 Message Date
77e302f9c3 Buzz-in flashing now resets properly when the flashing is finished. 2026-01-01 05:14:16 -05:00
b319d3fb20 Ending player now disappears when the round ends or is reset mid-playback. 2026-01-01 05:07:57 -05:00
af259fa188 Made the spinning newspaper a render target so it can be shown on camera. 2025-12-27 17:42:21 -05:00
3dec7c19ee Added a trigger to activate the host/winner camera when the winner crosses it. 2025-12-27 00:42:09 -05:00
0ed7e328d6 - Added extra camera switches to the tiebreaker in round 1.
- Fixed the buzzers in the tiebreaker round not resetting correctly.
- Added functions to AudioManager to check if music or effects are playing.
- Added extra camera switches to the end of round 2.
2025-12-26 13:57:22 -05:00
744a794707 Improved camera interactions in round 1. 2025-12-24 03:26:38 -05:00
e035f26d8d - CameraTimedSwitcher now supports single-loop camera switches.
- CameraTimedSwitcher now supports unique timings for each cut.
- CameraTimedSwitcher now executes callbacks correctly and consistently.
2025-12-23 14:54:00 -05:00
27abad7657 - Reworked CameraTimedSwitcher to be able to execute callback functions.
- Cameras are thus much more reliable and less likely to desync in round 2.
2025-12-23 05:03:14 -05:00
2281fae54e - Location board syncs much more reliably, and with less NetworkCallables.
- Jail chain syncs properly and disables itself, regardless of ownership.
- Also did some work with the cameras in round 2.
2025-12-22 03:38:38 -05:00
7faece4539 Took a detour to implement many necessary changes:
- Video player has been made a central object to improve reliability.
- Location board buttons on host card now indicate where items are.
- Jail Chain now syncs properly once again.
2025-12-22 00:18:08 -05:00
743c9cde75 Did a lot more work on cameras, but also the video player itself. More later. 2025-12-21 04:45:31 -05:00
82606881b3 - Improved camera switching code to allow for more versatile camera direction.
- Added additional camera layouts for round 2 and 3.
2025-12-20 23:19:19 -05:00
08897ba99f Added lots more camera moves and such to rounds 2 and 3. 2025-12-20 02:57:40 -05:00
2b0ce68959 Started work on round 2 and 3 camera setups. 2025-12-19 15:28:58 -05:00
127 changed files with 13775 additions and 3798 deletions

View File

@ -60,18 +60,19 @@
<Analyzer Include="D:\Program Files\Unity Hub\Editor\2022.3.22f1\Editor\Data\Tools\Unity.SourceGenerators\Unity.Properties.SourceGenerator.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="Assets\UdonSharp\Cameras\CameraOutputPreview.cs" />
<Compile Include="Assets\UdonSharp\LiveIndicator.cs" />
<Compile Include="Assets\UdonSharp\Interacts\CustomNetworkEventInteraction.cs" />
<Compile Include="Assets\VRChatCameraSystem\Ottpossum\Camera System\Scripts\CameraSystem_Console.cs" />
<Compile Include="Assets\UdonSharp\Game Managers\CaseManager.cs" />
<Compile Include="Assets\UdonSharp\Cameras\CameraAnchor.cs" />
<Compile Include="Assets\UdonSharp\Cameras\CameraControllerRound2.cs" />
<Compile Include="Assets\UdonSharp\Game Managers\GameManagerRound2.cs" />
<Compile Include="Assets\UdonSharp\Microphone.cs" />
<Compile Include="Assets\UdonSharp\UtilityScripts\InteractToggle.cs" />
<Compile Include="Assets\UdonSharp\Host Card Interfaces\HostCardCaptureCarmenInterface.cs" />
<Compile Include="Assets\UdonSharp\Podium\Buzzer.cs" />
<Compile Include="Assets\UdonSharp\Filing Cabinet\Note Dispenser\FilingCabinetNoteDispenser.cs" />
<Compile Include="Assets\UdonSharp\CaseVideoSyncPlayer\CaseVideoSyncPlayer.cs" />
<Compile Include="Assets\UdonSharp\DetectiveNoirEffect.cs" />
<Compile Include="Assets\UdonSharp\Modem\Modem.cs" />
<Compile Include="Assets\UdonSharp\Host Card Interfaces\HostCardIntroInterface.cs" />
@ -93,6 +94,7 @@
<Compile Include="Assets\UdonSharp\JailPhone.cs" />
<Compile Include="Assets\UdonSharp\UtilityScripts\Synced\MasterToggleObject.cs" />
<Compile Include="Assets\UdonSharp\Location Board\LocationBoard.cs" />
<Compile Include="Assets\UdonSharp\NewspaperDisplay.cs" />
<Compile Include="Assets\UdonSharp\Player Permissions\PermissionsPanelPlayerEntry.cs" />
<Compile Include="Assets\UdonSharp\Cameras\CameraControllerBase.cs" />
<Compile Include="Assets\UdonSharp\Cameras\Camera Switchers\CameraTimedSwitcher.cs" />
@ -105,6 +107,7 @@
<Compile Include="Assets\UdonSharp\AudioManager.cs" />
<Compile Include="Assets\UdonSharp\Game Managers\CaseManagerListView.cs" />
<Compile Include="Assets\UdonSharp\Host Card Interfaces\HostCardRecoverTheLootExplainerInterface.cs" />
<Compile Include="Assets\UdonSharp\Video Players\CaseVideoSyncPlayer.cs" />
<Compile Include="Assets\VRChatCameraSystem\Ottpossum\Camera System\Scripts\CameraLightSystemManager.cs" />
<Compile Include="Assets\UdonSharp\Filing Cabinet\FilingCabinet.cs" />
<Compile Include="Assets\UdonSharp\Host Card Interfaces\HostCardTheChaseInterface.cs" />
@ -129,9 +132,11 @@
<Compile Include="Assets\UdonSharp\Video Music Clue\VideoMusicClueSkateboard.cs" />
<Compile Include="Assets\UdonSharp\StationGraphUSharp.cs" />
<Compile Include="Assets\UdonSharp\Clue Presentations\VideoMusicClueNoteCard.cs" />
<Compile Include="Assets\UdonSharp\Cameras\CameraControllerRound3.cs" />
<Compile Include="Assets\UdonSharp\Podium\ChoiceCard.cs" />
<Compile Include="Assets\UdonSharp\Host Card Interfaces\HostCardMultipleChoiceInterface.cs" />
<Compile Include="Assets\UdonSharp\Interacts\CustomEventInteraction.cs" />
<Compile Include="Assets\UdonSharp\Video Players\MultiRoundVideoPlayer.cs" />
<Compile Include="Assets\UdonSharp\Host Card Interfaces\HostCardCaptureCarmenExplainerInterface.cs" />
<Compile Include="Assets\UdonSharp\Podium\RiskCard.cs" />
<Compile Include="Assets\UdonSharp\UtilityScripts\WorldAudioSettings.cs" />

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 59820d379dffb4f448e9f5e9e176657a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7611bbc0d5fbcc7458f06defd1b3cac2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,223 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-6257373392033738807
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: Play I Feel Good
m_EventTreshold: 0
- m_ConditionMode: 2
m_ConditionEvent: Play Do It Rockapella
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-2676210839440146232
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Play Do It Rockapella
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5830697621232306631}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-608326302079010720
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: I Feel Good
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -2676210839440146232}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: a40b3a8ceaa2a554c9734b9018f0ee6e, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Crane Shots
serializedVersion: 5
m_AnimatorParameters:
- m_Name: Play I Feel Good
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: Play Do It Rockapella
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 1184513506701362224}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1101 &5373992228699324
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Play I Feel Good
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -608326302079010720}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1107 &1184513506701362224
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -608326302079010720}
m_Position: {x: 420, y: 180, z: 0}
- serializedVersion: 1
m_State: {fileID: 5830697621232306631}
m_Position: {x: 420, y: 110, z: 0}
- serializedVersion: 1
m_State: {fileID: 1519098437035741587}
m_Position: {x: 30, y: 180, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1519098437035741587}
--- !u!1102 &1519098437035741587
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Nothing
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 5373992228699324}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &5830697621232306631
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Do It Rockapella
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -6257373392033738807}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 6334880ce40a5dd468bc03585f362603, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 943d8a0439082f94eb42ce982e75f047
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,406 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Do It Rockapella
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 28.591, y: -90, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 2
value: {x: 10.211, y: -90, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Overhead Camera Anchor
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -12.423, y: 7.424, z: 1.036}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 2
value: {x: -12.47, y: 2.78, z: 1.04}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Overhead Camera Anchor
m_ScaleCurves: []
m_FloatCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 8
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: 35.8
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: field of view
path: Overhead Camera Anchor/Camera 3
classID: 20
script: {fileID: 0}
flags: 0
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 1318053178
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 1318053178
attribute: 4
script: {fileID: 0}
typeID: 4
customType: 4
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 1300112320
attribute: 3138646591
script: {fileID: 0}
typeID: 20
customType: 37
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 2
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 8
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: 35.8
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: field of view
path: Overhead Camera Anchor/Camera 3
classID: 20
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -12.423
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: -12.47
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 7.424
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: 2.78
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1.036
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: 1.04
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 28.591
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: 10.211
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.x
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -90
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: -90
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.y
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 16
m_EulerEditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6334880ce40a5dd468bc03585f362603
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,409 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: I Feel Good
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 15.834, y: -90, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.5
value: {x: 15.834, y: -90, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: -0.0000085965, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.055468753, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 4.5
value: {x: 43.82, y: -90, z: 0}
inSlope: {x: 10.679292, y: 0, z: 0}
outSlope: {x: 10.679292, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.056249976, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Overhead Camera Anchor
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -15, y: 0.25, z: 1.04}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.5
value: {x: -15, y: 0.25, z: 1.04}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0.11348749, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.070703134, y: 0.03953156, z: 0.33333334}
- serializedVersion: 3
time: 4.5
value: {x: -12.423, y: 7.424, z: 1.0360003}
inSlope: {x: 1.2280934, y: 3.41538, z: 0}
outSlope: {x: 1.2280934, y: 3.41538, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.060937524, y: 0.0503906, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: Overhead Camera Anchor
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 1318053178
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 1318053178
attribute: 4
script: {fileID: 0}
typeID: 4
customType: 4
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 4.5
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -15
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: -15
inSlope: 0
outSlope: 0
tangentMode: 1
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.070703134
- serializedVersion: 3
time: 4.5
value: -12.423
inSlope: 1.2280934
outSlope: 1.2280934
tangentMode: 0
weightedMode: 0
inWeight: 0.060937524
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.25
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 0.25
inSlope: 0
outSlope: 0.11348749
tangentMode: 1
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.03953156
- serializedVersion: 3
time: 4.5
value: 7.424
inSlope: 3.41538
outSlope: 3.41538
tangentMode: 0
weightedMode: 0
inWeight: 0.0503906
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1.04
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 1.04
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4.5
value: 1.0360003
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 15.834
inSlope: 0
outSlope: 0
tangentMode: 1
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 15.834
inSlope: 0
outSlope: -0.0000085965
tangentMode: 1
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.055468753
- serializedVersion: 3
time: 4.5
value: 43.82
inSlope: 10.679292
outSlope: 10.679292
tangentMode: 0
weightedMode: 0
inWeight: 0.056249976
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.x
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -90
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: -90
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4.5
value: -90
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.y
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4.5
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 16
m_EulerEditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path: Overhead Camera Anchor
classID: 4
script: {fileID: 0}
flags: 0
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a40b3a8ceaa2a554c9734b9018f0ee6e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -12,15 +12,15 @@ Material:
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHATEST_ON
- _ALPHAPREMULTIPLY_ON
m_InvalidKeywords:
- _ENABLE_GEOMETRIC_SPECULAR_AA
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2450
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: TransparentCutout
RenderType: Transparent
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
@ -68,14 +68,14 @@ Material:
- _BumpScale: 0.225
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlend: 10
- _EnableGeometricSpecularAA: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 1
- _LightmapType: 0
- _Metallic: 0
- _Mode: 1
- _Mode: 3
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
@ -84,7 +84,7 @@ Material:
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -42,13 +42,13 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 2800000, guid: 44aab33f67dfa2949a8bd0a7e20d40e7, type: 3}
m_Texture: {fileID: 0}
m_Scale: {x: 0.5, y: 0.33333334}
m_Offset: {x: 0, y: 0.6666667}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 0.5, y: 0.33333334}
m_Offset: {x: 0, y: 0.6666667}
m_Offset: {x: 0.5, y: 0.33333334}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}

View File

@ -8,13 +8,13 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_CaptureCarmenNewspaper
m_Shader: {fileID: 4800000, guid: 0b7113dea2069fc4e8943843eff19f70, type: 3}
m_Shader: {fileID: 10708, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
m_ValidKeywords: []
m_InvalidKeywords:
- _GLOSSYREFLECTIONS_OFF
- _SPECULARHIGHLIGHTS_OFF
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -86,5 +86,5 @@ Material:
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -8,13 +8,13 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_CaptureCarmenNewspaperPhotos
m_Shader: {fileID: 4800000, guid: 0b7113dea2069fc4e8943843eff19f70, type: 3}
m_Shader: {fileID: 10708, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
m_ValidKeywords: []
m_InvalidKeywords:
- _GLOSSYREFLECTIONS_OFF
- _SPECULARHIGHLIGHTS_OFF
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0

View File

@ -0,0 +1,155 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_CaptureCarmenNewspaper_UIDisplay
m_Shader: {fileID: 10751, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _ALPHAPREMULTIPLY_ON
- _ENABLE_GEOMETRIC_SPECULAR_AA
- _GLOSSYREFLECTIONS_OFF
- _SPECULARHIGHLIGHTS_OFF
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _GlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HueShiftMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 8600000, guid: fb730cd2dcc49654dbee12581f50a3c4, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Matcap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MatcapMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OutlineMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Ramp:
m_Texture: {fileID: 2800000, guid: 636cf1b5dfca6f54b94ca3d2ff8216c9, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _Bicubic: 0
- _BumpScale: 1
- _Culling: 2
- _Cutoff: 1
- _DetailHueShift: 0
- _DetailMaskChannel: 3
- _DetailMode: 0
- _DetailNormalMapScale: 1
- _DetailUV: 0
- _DstBlend: 10
- _EmissionHueShift: 0
- _EmissionStrength: 1
- _EmissionUV: 0
- _EnableGeometricSpecularAA: 1
- _GlossMapChannel: 3
- _GlossMapScale: 1
- _GlossStrength: 0.5
- _Glossiness: 0
- _GlossyReflections: 0
- _HueShift: 0
- _HueShiftMaskChannel: 1
- _LightmapType: 0
- _LimitBrightness: 1
- _MatcapMaskChannel: 0
- _MatcapStrength: 1
- _MatcapType: 0
- _Metallic: 0
- _MetallicMapChannel: 0
- _MetallicStrength: 0
- _MinBrightness: 0
- _Mode: 3
- _OcclusionMapChannel: 1
- _OcclusionStrength: 1
- _OutlineFromAlbedo: 0
- _OutlineMaskChannel: 0
- _OutlineThickness: 0.05
- _Parallax: 0.02
- _Reflectance: 0.5
- _RimAlbedoTint: 0
- _RimEnvironmental: 0
- _RimIntensity: 0.5
- _RimRange: 0.3
- _RimSharpness: 0.1
- _ShadowAlbedo: 0.5
- _ShadowBoost: 0
- _SmoothnessTextureChannel: 0
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularHighlights: 0
- _SpecularSharpness: 0
- _SrcBlend: 1
- _UVSec: 0
- _VertexColor: 0
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _RimColor: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 372c2f1b24e36bd438fea3de42b33e3b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -46,7 +46,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Texture: {fileID: 2800000, guid: 60b125c1d7b06dd439bacc9a3af6b3e0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:

View File

@ -0,0 +1,79 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: RT_NewspaperDisplay
m_Shader: {fileID: 4800000, guid: 0b7113dea2069fc4e8943843eff19f70, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ENABLE_GEOMETRIC_SPECULAR_AA
- _GLOSSYREFLECTIONS_OFF
- _SPECULARHIGHLIGHTS_OFF
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 8600000, guid: fb730cd2dcc49654dbee12581f50a3c4, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _Bicubic: 0
- _BumpScale: 1
- _DetailNormalMapScale: 1
- _EnableGeometricSpecularAA: 1
- _Glossiness: 1
- _GlossyReflections: 0
- _LightmapType: 0
- _Metallic: 1
- _OcclusionStrength: 1
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularHighlights: 0
- _UVSec: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e22f1da637d6ee24ab557a3dccf69899
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,79 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: RT_VideoPlayer
m_Shader: {fileID: 4800000, guid: 0b7113dea2069fc4e8943843eff19f70, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ENABLE_GEOMETRIC_SPECULAR_AA
- _GLOSSYREFLECTIONS_OFF
- _SPECULARHIGHLIGHTS_OFF
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 8600000, guid: 4ddd9ec3c4599e14c8050a554582bc3e, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _Bicubic: 0
- _BumpScale: 1
- _DetailNormalMapScale: 1
- _EnableGeometricSpecularAA: 1
- _Glossiness: 1
- _GlossyReflections: 0
- _LightmapType: 0
- _Metallic: 1
- _OcclusionStrength: 1
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularHighlights: 0
- _UVSec: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5f7fb51ae73e7ea448d340dab1beccb3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -593,6 +593,7 @@ MonoBehaviour:
currentlyHeldBy: {fileID: 0}
pickupable: 1
proximity: 0.1
version: 0
--- !u!20 &5542997801820577511
Camera:
m_ObjectHideFlags: 0

View File

@ -422,7 +422,7 @@ GameObject:
- component: {fileID: 8974211262632548065}
- component: {fileID: 3627944098001172186}
- component: {fileID: 5807763379893679145}
m_Layer: 5
m_Layer: 0
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -674,6 +674,16 @@ PrefabInstance:
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: d71e5b9eaf8bc6043bdefe174c9de73d,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: d71e5b9eaf8bc6043bdefe174c9de73d,
type: 3}
propertyPath: m_ReceiveShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: d71e5b9eaf8bc6043bdefe174c9de73d,
type: 3}
propertyPath: m_Materials.Array.data[0]

View File

@ -398,7 +398,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &6918184314202523600
Transform:
m_ObjectHideFlags: 0
@ -497,7 +497,7 @@ MonoBehaviour:
ThrowVelocityBoostScale: 1
currentlyHeldBy: {fileID: 0}
pickupable: 1
proximity: 0.5
proximity: 0.75
version: 0
--- !u!114 &4279963186528276829
MonoBehaviour:
@ -592,6 +592,7 @@ MonoBehaviour:
SerializationNodes: []
_udonSharpBackingUdonBehaviour: {fileID: 2705142496176794513}
_GameManager: {fileID: 0}
_Pickup: {fileID: 3592705773749276922}
_ChainPivot: {fileID: 3590657470899212667}
_ChainHome: {fileID: 2554891250381025553}
_PullTarget: {fileID: 4967056217235796773}
@ -707,7 +708,7 @@ Transform:
m_GameObject: {fileID: 4994299810440057811}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0, z: -0.3}
m_LocalPosition: {x: 0, y: -0, z: -0.215}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!86 &8600000
CustomRenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: RT_NewspaperDisplay
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 512
m_Height: 384
m_AntiAliasing: 2
m_MipCount: -1
m_DepthStencilFormat: 0
m_ColorFormat: 8
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2
m_Material: {fileID: 0}
m_InitSource: 0
m_InitMaterial: {fileID: 0}
m_InitColor: {r: 1, g: 1, b: 1, a: 1}
m_InitTexture: {fileID: 0}
m_UpdateMode: 0
m_InitializationMode: 2
m_UpdateZoneSpace: 0
m_CurrentUpdateZoneSpace: 0
m_UpdateZones: []
m_UpdatePeriod: 0
m_ShaderPass: 0
m_CubemapFaceMask: 4294967295
m_DoubleBuffered: 0
m_WrapUpdateZones: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fb730cd2dcc49654dbee12581f50a3c4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 8600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -14,8 +14,8 @@ CustomRenderTexture:
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 854
m_Height: 480
m_Width: 640
m_Height: 360
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 94

View File

@ -237,6 +237,11 @@ public class AudioManager : UdonSharpBehaviour
_FadeOutMusic = true;
}
public bool IsMusicPlaying()
{
return _MusicPlayer.isPlaying;
}
private void _PlayMusic_Internal(MusicEventType MusicEvent, bool Loop)
{
_MusicPlayer.Stop();
@ -304,6 +309,11 @@ public class AudioManager : UdonSharpBehaviour
_PlaySFX_Internal(SFXEventType.None);
}
public bool IsSFXPlaying()
{
return _SFXPlayer.isPlaying;
}
private void _PlaySFX_Internal(SFXEventType SFXEvent, bool Loop = false, float Pitch = 1.0f)
{
_SFXPlayer.Stop();

View File

@ -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:

View File

@ -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);

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 5
Data: 10
- Name:
Entry: 7
Data:
@ -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:
@ -188,7 +188,7 @@ MonoBehaviour:
Data: 12|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Single, mscorlib
Data: System.Single[], mscorlib
- Name:
Entry: 8
Data:
@ -236,13 +236,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _Active
Data: _Loop
- Name: $v
Entry: 7
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Active
Data: _Loop
- Name: <UserType>k__BackingField
Entry: 7
Data: 16|System.RuntimeType, mscorlib
@ -259,14 +259,14 @@ MonoBehaviour:
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
@ -275,13 +275,16 @@ MonoBehaviour:
Data: 2
- Name:
Entry: 7
Data: 18|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 18|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 19|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
Data: 19|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -302,13 +305,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _NextCameraIndex
Data: _LoopPoint
- Name: $v
Entry: 7
Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _NextCameraIndex
Data: _LoopPoint
- Name: <UserType>k__BackingField
Entry: 7
Data: 21|System.RuntimeType, mscorlib
@ -332,10 +335,320 @@ MonoBehaviour:
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 23|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 24|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- Name: tooltip
Entry: 1
Data: Loop to this point in the camera sequence. Default is index 0 (the beginning)
- 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: _FirstLoopCallbackObject
- Name: $v
Entry: 7
Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FirstLoopCallbackObject
- Name: <UserType>k__BackingField
Entry: 7
Data: 26|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UdonSharp.UdonSharpBehaviour, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- 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: 27|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 28|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 29|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 30|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- Name: tooltip
Entry: 1
Data: Set this to call a function on an UdonSharpBehaviour instead of looping
the camera sequence
- 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: _FirstLoopCallbackFunction
- Name: $v
Entry: 7
Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FirstLoopCallbackFunction
- Name: <UserType>k__BackingField
Entry: 7
Data: 32|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 32
- 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: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 34|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: _Active
- Name: $v
Entry: 7
Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Active
- Name: <UserType>k__BackingField
Entry: 9
Data: 16
- Name: <SystemType>k__BackingField
Entry: 9
Data: 16
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 37|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 38|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: _NextCameraIndex
- Name: $v
Entry: 7
Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _NextCameraIndex
- Name: <UserType>k__BackingField
Entry: 9
Data: 21
- Name: <SystemType>k__BackingField
Entry: 9
Data: 21
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 40|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- 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: _LoopedOnce
- Name: $v
Entry: 7
Data: 41|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LoopedOnce
- Name: <UserType>k__BackingField
Entry: 9
Data: 16
- Name: <SystemType>k__BackingField
Entry: 9
Data: 16
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0

View File

@ -1,33 +1,66 @@

using CameraSystem;
using UdonSharp;
using UnityEngine;
using VRC.SDK3.UdonNetworkCalling;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CameraTimedSwitcher : UdonSharpBehaviour
{
[SerializeField] private CameraControllerBase _CameraController;
[SerializeField] private Camera[] _Cameras;
[SerializeField] private float _TimeBetweenCuts = 5.0f;
[SerializeField] private CameraControllerBase _CameraController;
[SerializeField] private string[] _SwitchFunctions;
[SerializeField] private float[] _TimeBetweenCuts = { 5.0f };
[Space]
[SerializeField] private bool _Loop = true;
[SerializeField, Tooltip("Loop to this point in the camera sequence. Default is index 0 (the beginning)")]
private int _LoopPoint = 0;
[Space]
[SerializeField, Tooltip("Set this to call a function on an UdonSharpBehaviour instead of looping the camera sequence")]
private UdonSharpBehaviour _FirstLoopCallbackObject = null;
[SerializeField] private string _FirstLoopCallbackFunction = "";
[UdonSynced, FieldChangeCallback(nameof(Activate))] private bool _Active = false;
private int _NextCameraIndex = 0;
private bool _LoopedOnce = false;
public void SwitchToNextCamera()
{
if (_Active)
{
_CameraController.SwitchToLiveCamera(_Cameras[_NextCameraIndex]);
_NextCameraIndex = (_NextCameraIndex + 1) % _Cameras.Length;
int CurrentCameraIndex = _NextCameraIndex;
SendCustomEventDelayedSeconds(nameof(SwitchToNextCamera), _TimeBetweenCuts);
if (CurrentCameraIndex == _LoopPoint && _LoopedOnce)
{
if (_FirstLoopCallbackObject != null)
{
_FirstLoopCallbackObject.SendCustomEvent(_FirstLoopCallbackFunction);
Activate = false;
return;
}
if (!_Loop)
{
Activate = false;
return;
}
}
string Function = _SwitchFunctions[_NextCameraIndex];
if (Function != "")
{
_CameraController.SendCustomEvent(Function);
}
_NextCameraIndex = (_NextCameraIndex + 1) % _SwitchFunctions.Length;
if (_NextCameraIndex == 0)
{
_LoopedOnce = true;
_NextCameraIndex = _LoopPoint;
}
SendCustomEventDelayedSeconds(nameof(SwitchToNextCamera),
_TimeBetweenCuts[Mathf.Min(CurrentCameraIndex, _TimeBetweenCuts.Length - 1)]);
}
}
@ -40,6 +73,7 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
{
_Active = value;
_NextCameraIndex = 0;
_LoopedOnce = false;
SwitchToNextCamera();
RequestSerialization();

View File

@ -12,6 +12,14 @@ public class CameraControllerBase : UdonSharpBehaviour
[SerializeField] private CameraSystem_Console _CameraConsole;
public virtual void InitialiseCameras() { }
public virtual void DeinitialiseCameras()
{
DisableAllTriggers();
DisableAllSwitchers();
}
public void SwitchToLiveCamera(Camera SwitchTo)
{
for (int i = 0; i < _CameraConsole.camerasObjects.Length; i++)

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 16
Data: 27
- Name:
Entry: 7
Data:
@ -647,16 +647,340 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: DefaultWideShotCameraAnchor
Data: MapToHostAndAllPlayersTimerToggle
- Name: $v
Entry: 7
Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: DefaultWideShotCameraAnchor
Data: MapToHostAndAllPlayersTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
- 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: 41|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 42|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: LightningStartToHostAndAllPlayersTimerToggle
- Name: $v
Entry: 7
Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: LightningStartToHostAndAllPlayersTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
- 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: 44|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 45|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: CorrectToHostAndAllPlayersTimerToggle
- Name: $v
Entry: 7
Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: CorrectToHostAndAllPlayersTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
- 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: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 48|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: IncorrectToHostAndAllPlayersTimerToggle
- Name: $v
Entry: 7
Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: IncorrectToHostAndAllPlayersTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
- 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: 50|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 51|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: ThinkAboutItTimerToggle
- Name: $v
Entry: 7
Data: 52|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: ThinkAboutItTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
- 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: 53|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 54|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: BuzzedInPlayerTimerToggle
- Name: $v
Entry: 7
Data: 55|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: BuzzedInPlayerTimerToggle
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
- 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: 56|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 57|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: Player1CameraAnchor
- Name: $v
Entry: 7
Data: 58|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player1CameraAnchor
- Name: <UserType>k__BackingField
Entry: 7
Data: 41|System.RuntimeType, mscorlib
Data: 59|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraAnchor, Assembly-CSharp
@ -680,13 +1004,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 60|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 43|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 61|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@ -695,7 +1019,277 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 44|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 62|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: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player2CameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 59
- 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: 64|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 65|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: Player3CameraAnchor
- Name: $v
Entry: 7
Data: 66|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player3CameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 59
- 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: 67|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 68|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: HostCameraAnchor
- Name: $v
Entry: 7
Data: 69|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: HostCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 59
- 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: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 71|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: DefaultWideShotCameraAnchor
- Name: $v
Entry: 7
Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: DefaultWideShotCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 59
- 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: 73|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 74|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: VideoPlayerCameraAnchor
- Name: $v
Entry: 7
Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoPlayerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 59
- 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: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 77|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -719,13 +1313,13 @@ MonoBehaviour:
Data: AllPlayersViewCameraAnchor
- Name: $v
Entry: 7
Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 78|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: AllPlayersViewCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
Data: 59
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@ -743,13 +1337,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 46|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 79|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 47|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 80|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -773,13 +1367,13 @@ MonoBehaviour:
Data: VideoMusicClueCameraAnchor
- Name: $v
Entry: 7
Data: 48|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 81|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoMusicClueCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
Data: 59
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@ -797,13 +1391,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 49|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 82|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 50|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 83|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -827,13 +1421,13 @@ MonoBehaviour:
Data: ACMECrimenetComputerCameraAnchor
- Name: $v
Entry: 7
Data: 51|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 84|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: ACMECrimenetComputerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
Data: 59
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@ -851,13 +1445,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 85|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 53|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 86|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -881,13 +1475,13 @@ MonoBehaviour:
Data: FilingCabinetCameraAnchor
- Name: $v
Entry: 7
Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: FilingCabinetCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
Data: 59
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@ -905,13 +1499,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 55|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 88|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 56|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 89|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -935,13 +1529,13 @@ MonoBehaviour:
Data: ModemCameraAnchor
- Name: $v
Entry: 7
Data: 57|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 90|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: ModemCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 41
Data: 59
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@ -959,13 +1553,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 91|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 59|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 92|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:

View File

@ -21,8 +21,20 @@ public class CameraControllerRound1 : CameraControllerBase
[Space]
[SerializeField] public CameraTimedSwitcher HostAndAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher HostAndIndividualPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher MapToHostAndAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher LightningStartToHostAndAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher CorrectToHostAndAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher IncorrectToHostAndAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher ThinkAboutItTimerToggle;
[SerializeField] public CameraTimedSwitcher BuzzedInPlayerTimerToggle;
[Space]
[SerializeField] public CameraAnchor Player1CameraAnchor;
[SerializeField] public CameraAnchor Player2CameraAnchor;
[SerializeField] public CameraAnchor Player3CameraAnchor;
[SerializeField] public CameraAnchor HostCameraAnchor;
[SerializeField] public CameraAnchor DefaultWideShotCameraAnchor;
[SerializeField] public CameraAnchor VideoPlayerCameraAnchor;
[SerializeField] public CameraAnchor AllPlayersViewCameraAnchor;
[SerializeField] public CameraAnchor VideoMusicClueCameraAnchor;
[SerializeField] public CameraAnchor ACMECrimenetComputerCameraAnchor;
@ -30,8 +42,21 @@ public class CameraControllerRound1 : CameraControllerBase
[SerializeField] public CameraAnchor ModemCameraAnchor;
public override void InitialiseCameras()
{
Player1CameraAnchor.AttachCamera(Player1Camera);
Player2CameraAnchor.AttachCamera(Player2Camera);
Player3CameraAnchor.AttachCamera(Player3Camera);
HostCameraAnchor.AttachCamera(HostCamera);
DefaultWideShotCameraAnchor.AttachCamera(PrimaryFocusCamera);
VideoPlayerCameraAnchor.AttachCamera(VideoPlayerCamera);
}
public override void OnOwnershipTransferred(VRCPlayerApi Player)
{
Networking.SetOwner(Player, Player1Camera.gameObject);
Networking.SetOwner(Player, Player2Camera.gameObject);
Networking.SetOwner(Player, Player3Camera.gameObject);
Networking.SetOwner(Player, HostCamera.gameObject);
Networking.SetOwner(Player, PrimaryFocusCamera.gameObject);
Networking.SetOwner(Player, VideoPlayerCamera.gameObject);
@ -40,8 +65,20 @@ public class CameraControllerRound1 : CameraControllerBase
Networking.SetOwner(Player, HostAndAllPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, HostAndIndividualPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, MapToHostAndAllPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, LightningStartToHostAndAllPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, CorrectToHostAndAllPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, IncorrectToHostAndAllPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, ThinkAboutItTimerToggle.gameObject);
Networking.SetOwner(Player, BuzzedInPlayerTimerToggle.gameObject);
Networking.SetOwner(Player, Player1CameraAnchor.gameObject);
Networking.SetOwner(Player, Player2CameraAnchor.gameObject);
Networking.SetOwner(Player, Player3CameraAnchor.gameObject);
Networking.SetOwner(Player, HostCameraAnchor.gameObject);
Networking.SetOwner(Player, DefaultWideShotCameraAnchor.gameObject);
Networking.SetOwner(Player, VideoPlayerCameraAnchor.gameObject);
Networking.SetOwner(Player, AllPlayersViewCameraAnchor.gameObject);
Networking.SetOwner(Player, VideoMusicClueCameraAnchor.gameObject);
Networking.SetOwner(Player, ACMECrimenetComputerCameraAnchor.gameObject);
@ -54,31 +91,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);
}
@ -89,7 +121,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToWideShotCamera()
{
DisableAllSwitchers();
ActivateWideShotCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@ -100,7 +131,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToVideoMusicClueCamera()
{
DisableAllSwitchers();
ActivateVideoMusicClueCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@ -111,7 +141,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToACMECrimenetComputerCamera()
{
DisableAllSwitchers();
ActivateACMECrimenetComputerCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@ -122,7 +151,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToFilingCabinetCamera()
{
DisableAllSwitchers();
ActivateFilingCabinetCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@ -133,7 +161,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToAllPlayersCamera()
{
DisableAllSwitchers();
ActivateAllPlayersCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@ -144,7 +171,6 @@ public class CameraControllerRound1 : CameraControllerBase
}
public void SwitchToModemCamera()
{
DisableAllSwitchers();
ActivateModemCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
@ -153,15 +179,99 @@ public class CameraControllerRound1 : CameraControllerBase
public void ActivateHostAllPlayersCameraSwitcher()
{
ActivateAllPlayersCamera();
HostAndIndividualPlayersTimerToggle.Activate = false;
HostAndAllPlayersTimerToggle.Activate = true;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = false;
}
public void ActivateHostIndividualPlayersCameraSwitcher()
{
HostAndIndividualPlayersTimerToggle.Activate = true;
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = true;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = false;
}
public void ActivateMapToHostAllPlayersCameraSwitcher()
{
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = true;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = false;
}
public void ActivateLightningStartToHostAllPlayersCameraSwitcher()
{
ActivateWideShotCamera();
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = true;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = false;
}
public void ActivateCorrectAnswerToHostAllPlayersCameraSwitcher()
{
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = true;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = false;
}
public void ActivateIncorrectAnswerToHostAllPlayersCameraSwitcher()
{
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = true;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = false;
}
public void ActivateThinkAboutItCameraSwitcher()
{
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = true;
BuzzedInPlayerTimerToggle.Activate = false;
}
public void ActivateBuzzedInPlayerCameraSwitcher()
{
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = true;
}
@ -184,5 +294,11 @@ public class CameraControllerRound1 : CameraControllerBase
{
HostAndAllPlayersTimerToggle.Activate = false;
HostAndIndividualPlayersTimerToggle.Activate = false;
MapToHostAndAllPlayersTimerToggle.Activate = false;
LightningStartToHostAndAllPlayersTimerToggle.Activate = false;
CorrectToHostAndAllPlayersTimerToggle.Activate = false;
IncorrectToHostAndAllPlayersTimerToggle.Activate = false;
ThinkAboutItTimerToggle.Activate = false;
BuzzedInPlayerTimerToggle.Activate = false;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ba004ec09c23f3c4ebfc8ff25b1961e3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,264 @@

using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CameraControllerRound2 : CameraControllerBase
{
[Space]
[SerializeField] public Camera Player1Camera;
[SerializeField] public Camera Player2Camera;
[SerializeField] public Camera HostAndWinnerCamera;
[SerializeField] public Camera LocationBoardCamera;
[SerializeField] public Camera PrimaryFocusCamera;
[SerializeField] public Camera VideoPlayerCamera;
[Space]
[SerializeField] public CameraTimerSwitchTrigger HostAndAllPlayersCameraTrigger;
[SerializeField] public CameraSwitchTrigger HostAndWinnerCameraTrigger;
[Space]
[SerializeField] public CameraTimedSwitcher HostAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher HostPlayersAndWideShotTimerToggle;
[SerializeField] public CameraTimedSwitcher Player1AndLocationBoardTimerToggle;
[SerializeField] public CameraTimedSwitcher Player2AndLocationBoardTimerToggle;
[SerializeField] public CameraTimedSwitcher LocationBoardAndShortHostTimerToggle;
[SerializeField] public CameraTimedSwitcher LocationBoardAndLongHostTimerToggle;
[SerializeField] public CameraTimedSwitcher LocationBoardAndWinningPlayerTimerToggle;
[SerializeField] public CameraTimedSwitcher VideoPlayerToWinningPlayerTimerToggle;
[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()
{
Player1CameraAnchor.AttachCamera(Player1Camera);
Player2CameraAnchor.AttachCamera(Player2Camera);
HostAndWinnerCameraAnchor.AttachCamera(HostAndWinnerCamera);
LocationBoardCameraAnchor.AttachCamera(LocationBoardCamera);
VideoPlayerCameraAnchor.AttachCamera(VideoPlayerCamera);
}
public override void OnOwnershipTransferred(VRCPlayerApi Player)
{
Networking.SetOwner(Player, Player1Camera.gameObject);
Networking.SetOwner(Player, Player2Camera.gameObject);
Networking.SetOwner(Player, HostAndWinnerCamera.gameObject);
Networking.SetOwner(Player, LocationBoardCamera.gameObject);
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, Player1AndLocationBoardTimerToggle.gameObject);
Networking.SetOwner(Player, Player2AndLocationBoardTimerToggle.gameObject);
Networking.SetOwner(Player, LocationBoardAndShortHostTimerToggle.gameObject);
Networking.SetOwner(Player, LocationBoardAndLongHostTimerToggle.gameObject);
Networking.SetOwner(Player, LocationBoardAndWinningPlayerTimerToggle.gameObject);
Networking.SetOwner(Player, VideoPlayerToWinningPlayerTimerToggle.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()
{
SwitchToLiveCamera(Player1Camera);
}
public void SwitchToPlayer2Camera()
{
SwitchToLiveCamera(Player2Camera);
}
public void SwitchToHostAndWinnerCamera()
{
SwitchToLiveCamera(HostAndWinnerCamera);
}
public void SwitchToLocationBoardCamera()
{
SwitchToLiveCamera(LocationBoardCamera);
}
public void SwitchToVideoPlayerCamera()
{
SwitchToLiveCamera(VideoPlayerCamera);
}
public void ActivateWideShotCamera()
{
WideShotCameraAnchor.AttachCamera(PrimaryFocusCamera);
}
public void SwitchToWideShotCamera()
{
ActivateWideShotCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
public void ActivateAllPlayersCamera()
{
AllPlayersCameraAnchor.AttachCamera(PrimaryFocusCamera);
}
public void SwitchToAllPlayersCamera()
{
ActivateAllPlayersCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
public void ActivateHostAllPlayersCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = true;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
VideoPlayerToWinningPlayerTimerToggle.Activate = false;
}
public void ActivateHostPlayersAndWideShotCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = true;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
VideoPlayerToWinningPlayerTimerToggle.Activate = false;
}
public void ActivatePlayer1AndLocationBoardCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = true;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
VideoPlayerToWinningPlayerTimerToggle.Activate = false;
}
public void ActivatePlayer2AndLocationBoardCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = true;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
VideoPlayerToWinningPlayerTimerToggle.Activate = false;
}
public void ActivateLocationBoardAndShortHostCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = true;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
VideoPlayerToWinningPlayerTimerToggle.Activate = false;
}
public void ActivateLocationBoardAndLongHostCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = true;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
VideoPlayerToWinningPlayerTimerToggle.Activate = false;
}
public void ActivateLocationBoardAndWinningPlayerCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = true;
VideoPlayerToWinningPlayerTimerToggle.Activate = false;
}
public void ActivateVideoPlayerToWinningPlayerCameraSwitcher()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
VideoPlayerToWinningPlayerTimerToggle.Activate = true;
}
public void ActivateHostAllPlayersCameraTrigger()
{
HostAndAllPlayersCameraTrigger.gameObject.SetActive(true);
}
public void DeactivateHostAllPlayersCameraTrigger()
{
HostAndAllPlayersCameraTrigger.gameObject.SetActive(false);
}
public void ActivateHostWinnerCameraTrigger()
{
HostAndWinnerCameraTrigger.gameObject.SetActive(true);
}
public void DeactivateHostWinnerCameraTrigger()
{
HostAndWinnerCameraTrigger.gameObject.SetActive(false);
}
public override void DisableAllTriggers()
{
HostAndAllPlayersCameraTrigger.gameObject.SetActive(false);
}
public override void DisableAllSwitchers()
{
HostAllPlayersTimerToggle.Activate = false;
HostPlayersAndWideShotTimerToggle.Activate = false;
Player1AndLocationBoardTimerToggle.Activate = false;
Player2AndLocationBoardTimerToggle.Activate = false;
LocationBoardAndShortHostTimerToggle.Activate = false;
LocationBoardAndLongHostTimerToggle.Activate = false;
LocationBoardAndWinningPlayerTimerToggle.Activate = false;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b9d25ed85adab20439cb9b1bd415d023
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9d7b6eb1d965f824385664197395c601
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,221 @@

using UdonSharp;
using UnityEngine;
using VRC.SDK3.UdonNetworkCalling;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CameraControllerRound3 : CameraControllerBase
{
[Space]
[SerializeField] public Camera PlayerCamera;
[SerializeField] public Camera HostCamera;
[SerializeField] public Camera OverheadCamera;
[SerializeField] public Camera FrontCamera;
[SerializeField] public Camera PrimaryFocusCamera;
[SerializeField] public Camera VideoPlayerCamera;
[Space]
[SerializeField] public GameObject PlayfieldSwitchTriggerGroup;
[Space]
[SerializeField] public CameraTimedSwitcher HostPlayerTimerToggle;
[Space]
[SerializeField] public Animator _CameraAnimator;
[Space]
[SerializeField] public CameraAnchor HostStartingCameraAnchor;
[SerializeField] public CameraAnchor PlayerStartingCameraAnchor;
[SerializeField] public CameraAnchor OverheadCameraAnchor;
[SerializeField] public CameraAnchor FrontCameraAnchor;
[SerializeField] public CameraAnchor NewspaperCameraAnchor;
[SerializeField] public CameraAnchor VideoPlayerCameraAnchor;
[Space]
[SerializeField] public CameraAnchor[] HostCameraAnchorSequence;
[SerializeField] public CameraAnchor[] PlayerCameraAnchorSequence;
[UdonSynced, FieldChangeCallback(nameof(ActivatePlayfieldSwitchTriggerGroup))] private bool _ActivatePlayfieldSwitchTriggerGroup = false;
[UdonSynced, FieldChangeCallback(nameof(MarkerCameraAnchorPosition))] private int _MarkerCameraAnchorPosition = -1;
[UdonSynced, FieldChangeCallback(nameof(PlayIFeelGoodCallback))] private bool _PlayIFeelGood = false;
[UdonSynced, FieldChangeCallback(nameof(PlayDoItRockapellaCallback))] private bool _PlayDoItRockapella = false;
public override void InitialiseCameras()
{
HostStartingCameraAnchor.AttachCamera(PlayerCamera);
PlayerStartingCameraAnchor.AttachCamera(HostCamera);
OverheadCameraAnchor.AttachCamera(OverheadCamera);
FrontCameraAnchor.AttachCamera(FrontCamera);
NewspaperCameraAnchor.AttachCamera(PrimaryFocusCamera);
VideoPlayerCameraAnchor.AttachCamera(VideoPlayerCamera);
HostCameraAnchorSequence[0].AttachCamera(HostCamera);
PlayerCameraAnchorSequence[0].AttachCamera(PlayerCamera);
ActivatePlayfieldSwitchTriggerGroup = false;
}
public override void DeinitialiseCameras()
{
PlayIFeelGood(false);
PlayDoItRockapella(false);
base.DeinitialiseCameras();
}
public override void OnOwnershipTransferred(VRCPlayerApi Player)
{
Networking.SetOwner(Player, PlayerCamera.gameObject);
Networking.SetOwner(Player, HostCamera.gameObject);
Networking.SetOwner(Player, OverheadCamera.gameObject);
Networking.SetOwner(Player, FrontCamera.gameObject);
Networking.SetOwner(Player, PrimaryFocusCamera.gameObject);
Networking.SetOwner(Player, VideoPlayerCamera.gameObject);
Networking.SetOwner(Player, PlayfieldSwitchTriggerGroup);
Networking.SetOwner(Player, HostPlayerTimerToggle.gameObject);
Networking.SetOwner(Player, _CameraAnimator.gameObject);
Networking.SetOwner(Player, HostStartingCameraAnchor.gameObject);
Networking.SetOwner(Player, PlayerStartingCameraAnchor.gameObject);
Networking.SetOwner(Player, OverheadCameraAnchor.gameObject);
Networking.SetOwner(Player, FrontCameraAnchor.gameObject);
Networking.SetOwner(Player, NewspaperCameraAnchor.gameObject);
Networking.SetOwner(Player, VideoPlayerCameraAnchor.gameObject);
base.OnOwnershipTransferred(Player);
}
public void SwitchToPlayerCamera()
{
SwitchToLiveCamera(PlayerCamera);
}
public void SwitchToHostCamera()
{
SwitchToLiveCamera(HostCamera);
}
public void SwitchToOverheadCamera()
{
SwitchToLiveCamera(OverheadCamera);
}
public void SwitchToFrontCamera()
{
SwitchToLiveCamera(FrontCamera);
}
public void SwitchToVideoPlayerCamera()
{
SwitchToLiveCamera(VideoPlayerCamera);
}
private void _OnPlayfieldSwitchTriggerGroupChanged()
{
PlayfieldSwitchTriggerGroup.SetActive(ActivatePlayfieldSwitchTriggerGroup);
RequestSerialization();
}
public void ActivateWideShotCamera()
{
//DefaultWideShotCameraAnchor.AttachCamera(PrimaryFocusCamera);
}
public void SwitchToWideShotCamera()
{
//DisableAllSwitchers();
//ActivateWideShotCamera();
//SwitchToLiveCamera(PrimaryFocusCamera);
}
public void ActivateHostPlayerCameraSwitcher()
{
HostPlayerTimerToggle.Activate = true;
}
public void PlayIFeelGood(bool Play)
{
PlayIFeelGoodCallback = Play;
RequestSerialization();
}
public void PlayDoItRockapella(bool Play)
{
PlayDoItRockapellaCallback = Play;
RequestSerialization();
}
public override void DisableAllTriggers()
{
ActivatePlayfieldSwitchTriggerGroup = false;
}
public override void DisableAllSwitchers()
{
HostPlayerTimerToggle.Activate = false;
}
public bool ActivatePlayfieldSwitchTriggerGroup
{
set
{
_ActivatePlayfieldSwitchTriggerGroup = value;
_OnPlayfieldSwitchTriggerGroupChanged();
}
get => _ActivatePlayfieldSwitchTriggerGroup;
}
public int MarkerCameraAnchorPosition
{
set
{
_MarkerCameraAnchorPosition = value;
_ChangeMarkerCameraPosition();
}
get => _MarkerCameraAnchorPosition;
}
private void _ChangeMarkerCameraPosition()
{
HostCameraAnchorSequence[MarkerCameraAnchorPosition].AttachCamera(HostCamera);
PlayerCameraAnchorSequence[MarkerCameraAnchorPosition].AttachCamera(PlayerCamera);
RequestSerialization();
}
private bool PlayIFeelGoodCallback
{
set
{
_PlayIFeelGood = value;
_CameraAnimator.SetBool("Play I Feel Good", _PlayIFeelGood);
if (_PlayIFeelGood)
{
SwitchToOverheadCamera();
}
}
get => _PlayIFeelGood;
}
private bool PlayDoItRockapellaCallback
{
set
{
_PlayDoItRockapella = value;
_CameraAnimator.SetBool("Play Do It Rockapella", _PlayDoItRockapella);
if (_PlayDoItRockapella)
{
SwitchToOverheadCamera();
}
}
get => _PlayDoItRockapella;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a8418cb07492d474c9fac332a5ada029
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,113 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: CameraOutputPreview
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 73ee4679e786b3949924c6bb7a80141c,
type: 2}
udonAssembly:
assemblyError:
sourceCsScript: {fileID: 11500000, guid: 06e7ae5ef6494464eb55af19a8faa259, type: 3}
scriptVersion: 2
compiledVersion: 2
behaviourSyncMode: 4
hasInteractEvent: 0
scriptID: 8927610894871549443
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: fieldDefinitions
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[UdonSharp.Compiler.FieldDefinition,
UdonSharp.Editor]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
mscorlib]], mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _Screen
- Name: $v
Entry: 7
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Screen
- Name: <UserType>k__BackingField
Entry: 7
Data: 3|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.GameObject, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
- 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: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 5|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: 13
Data:
- Name:
Entry: 8
Data:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4ea6f23bf62bea7408c59a92ba47dfc1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@

using UdonSharp;
using UnityEngine;
using CameraSystem;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CameraOutputPreview : UdonSharpBehaviour
{
[SerializeField] private GameObject _Screen;
public void CameraEnabled()
{
_Screen.SetActive(true);
}
public void CameraDisabled()
{
_Screen.SetActive(false);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 06e7ae5ef6494464eb55af19a8faa259
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 5
Data: 7
- Name:
Entry: 7
Data:
@ -290,16 +290,154 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _Animator
Data: _PlayAnimation
- Name: $v
Entry: 7
Data: 18|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Animator
Data: _PlayAnimation
- Name: <UserType>k__BackingField
Entry: 7
Data: 19|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: NewspaperAnimation, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 20|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 21|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 22|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 23|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: _WinningPlayer
- Name: $v
Entry: 7
Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _WinningPlayer
- Name: <UserType>k__BackingField
Entry: 7
Data: 25|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 25
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 27|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 28|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: _Animator
- Name: $v
Entry: 7
Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Animator
- Name: <UserType>k__BackingField
Entry: 7
Data: 30|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Animator, UnityEngine.AnimationModule
@ -308,7 +446,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 19
Data: 30
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -323,7 +461,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 20|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0

View File

@ -6,6 +6,14 @@ using VRC.SDK3.UdonNetworkCalling;
using VRC.SDKBase;
public enum NewspaperAnimation
{
None,
Win,
Lose
}
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CaptureCarmenNewspaper : UdonSharpBehaviour
{
@ -15,6 +23,9 @@ public class CaptureCarmenNewspaper : UdonSharpBehaviour
[SerializeField] private AudioManager _AudioManager;
[UdonSynced, FieldChangeCallback(nameof(PlayAnimation))] private NewspaperAnimation _PlayAnimation;
[UdonSynced, FieldChangeCallback(nameof(WinningPlayer))] private string _WinningPlayer;
private Animator _Animator;
@ -24,26 +35,28 @@ public class CaptureCarmenNewspaper : UdonSharpBehaviour
}
[NetworkCallable]
public void PlayWinAnimation(string WinningPlayer)
public void PlayWinAnimation(string Winner)
{
GetCurrentDate();
SetHeadline(true, WinningPlayer);
_Animator.SetBool("Speen", true);
WinningPlayer = Winner;
PlayAnimation = NewspaperAnimation.Win;
SendCustomEventDelayedSeconds(nameof(ApplyJailEffect), 2.0f);
SendCustomEventDelayedSeconds(nameof(ResetAnimation), 5.0f);
RequestSerialization();
}
[NetworkCallable]
public void PlayLoseAnimation()
{
GetCurrentDate();
SetHeadline(false);
_Animator.SetBool("Speen", true);
WinningPlayer = "";
PlayAnimation = NewspaperAnimation.Lose;
SendCustomEventDelayedSeconds(nameof(ApplyEscapeEffect), 2.0f);
SendCustomEventDelayedSeconds(nameof(ResetAnimation), 5.0f);
RequestSerialization();
}
public void ResetAnimation()
{
WinningPlayer = "";
PlayAnimation = NewspaperAnimation.None;
RequestSerialization();
}
public void ApplyJailEffect()
@ -58,12 +71,6 @@ public class CaptureCarmenNewspaper : UdonSharpBehaviour
_CarmenPortrait.material.SetVector("_MainTex_ST", new Vector4(0.5f, 0.5f, 0.5f, 0.5f));
}
public void ResetAnimation()
{
_Animator.SetBool("Speen", false);
_CarmenPortrait.material.SetVector("_MainTex_ST", new Vector4(0.5f, 0.5f, 0.0f, 0.5f));
}
private void GetCurrentDate()
{
@ -73,9 +80,9 @@ public class CaptureCarmenNewspaper : UdonSharpBehaviour
MonthToString(CurrentDate.Month) + " " + CurrentDate.Day + ", " + CurrentDate.Year;
}
private void SetHeadline(bool PlayerWon, string PlayerName = "")
private void SetHeadline(bool PlayerWon)
{
_Headline.text = PlayerWon ? (PlayerName + "\nCaptures Carmen!") : "Carmen Sandiego\nEvades Capture";
_Headline.text = PlayerWon ? (WinningPlayer + "\nCaptures Carmen!") : "Carmen Sandiego\nEvades Capture";
}
@ -113,4 +120,40 @@ public class CaptureCarmenNewspaper : UdonSharpBehaviour
}
return "[[ERROR]]";
}
private NewspaperAnimation PlayAnimation
{
set
{
_PlayAnimation = value;
GetCurrentDate();
switch (_PlayAnimation)
{
case NewspaperAnimation.None:
_Animator.SetBool("Speen", false);
_CarmenPortrait.material.SetVector("_MainTex_ST", new Vector4(0.5f, 0.5f, 0.0f, 0.5f));
break;
case NewspaperAnimation.Win:
_Animator.SetBool("Speen", true);
SendCustomEventDelayedSeconds(nameof(ApplyJailEffect), 2.0f);
break;
case NewspaperAnimation.Lose:
_Animator.SetBool("Speen", true);
SendCustomEventDelayedSeconds(nameof(ApplyEscapeEffect), 2.0f);
break;
}
}
get => _PlayAnimation;
}
private string WinningPlayer
{
set
{
_WinningPlayer = value;
SetHeadline(_WinningPlayer == "" ? false : true);
}
get => _WinningPlayer;
}
}

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 24
Data: 25
- Name:
Entry: 7
Data:
@ -383,19 +383,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _HostCard
Data: _MultiRoundVideoPlayer
- Name: $v
Entry: 7
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _HostCard
Data: _MultiRoundVideoPlayer
- Name: <UserType>k__BackingField
Entry: 7
Data: 27|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: HostCardManager, Assembly-CSharp
Data: MultiRoundVideoPlayer, Assembly-CSharp
- Name:
Entry: 8
Data:
@ -452,19 +452,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CaseManagerList
Data: _HostCard
- Name: $v
Entry: 7
Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseManagerList
Data: _HostCard
- Name: <UserType>k__BackingField
Entry: 7
Data: 32|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CaseManagerListView, Assembly-CSharp
Data: HostCardManager, Assembly-CSharp
- Name:
Entry: 8
Data:
@ -488,19 +488,10 @@ MonoBehaviour:
Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
Data: 1
- Name:
Entry: 7
Data: 34|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 35|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 34|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -521,25 +512,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _HostTeleportButton
Data: _CaseManagerList
- Name: $v
Entry: 7
Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _HostTeleportButton
Data: _CaseManagerList
- Name: <UserType>k__BackingField
Entry: 7
Data: 37|System.RuntimeType, mscorlib
Data: 36|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.UI.Button, UnityEngine.UI
Data: CaseManagerListView, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 37
Data: 9
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -554,10 +545,19 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 37|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
Data: 2
- Name:
Entry: 7
Data: 38|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 39|UnityEngine.SerializeField, UnityEngine.CoreModule
@ -581,16 +581,76 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _LiveIndicator
Data: _HostTeleportButton
- Name: $v
Entry: 7
Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LiveIndicator
Data: _HostTeleportButton
- Name: <UserType>k__BackingField
Entry: 7
Data: 41|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.UI.Button, UnityEngine.UI
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 41
- 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: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 43|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: _LiveIndicator
- Name: $v
Entry: 7
Data: 44|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LiveIndicator
- Name: <UserType>k__BackingField
Entry: 7
Data: 45|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: LiveIndicator, Assembly-CSharp
@ -614,13 +674,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 46|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 43|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 47|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@ -629,7 +689,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 44|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 48|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -653,13 +713,13 @@ MonoBehaviour:
Data: _CaseFileCluesURL
- Name: $v
Entry: 7
Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileCluesURL
- Name: <UserType>k__BackingField
Entry: 7
Data: 46|System.RuntimeType, mscorlib
Data: 50|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDKBase.VRCUrl, VRCSDKBase
@ -668,7 +728,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 46
Data: 50
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -683,13 +743,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 51|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 48|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 52|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@ -713,76 +773,16 @@ MonoBehaviour:
Data: _CaseFileLootImage
- Name: $v
Entry: 7
Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileLootImage
- Name: <UserType>k__BackingField
Entry: 9
Data: 46
Data: 50
- Name: <SystemType>k__BackingField
Entry: 9
Data: 46
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 50|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 51|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- 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: _CaseFileMaps
- Name: $v
Entry: 7
Data: 52|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileMaps
- Name: <UserType>k__BackingField
Entry: 7
Data: 53|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDKBase.VRCUrl[], VRCSDKBase
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 53
Data: 50
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -824,19 +824,79 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CaseFileVideos
Data: _CaseFileMaps
- Name: $v
Entry: 7
Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileMaps
- Name: <UserType>k__BackingField
Entry: 7
Data: 57|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDKBase.VRCUrl[], VRCSDKBase
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 57
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 59|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- 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: _CaseFileVideos
- Name: $v
Entry: 7
Data: 60|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileVideos
- Name: <UserType>k__BackingField
Entry: 9
Data: 53
Data: 57
- Name: <SystemType>k__BackingField
Entry: 9
Data: 53
Data: 57
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -851,13 +911,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 57|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 58|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 62|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@ -881,16 +941,16 @@ MonoBehaviour:
Data: _CaseFileVideosFallback
- Name: $v
Entry: 7
Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileVideosFallback
- Name: <UserType>k__BackingField
Entry: 9
Data: 53
Data: 57
- Name: <SystemType>k__BackingField
Entry: 9
Data: 53
Data: 57
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -905,13 +965,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 60|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 64|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 61|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 65|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@ -935,76 +995,16 @@ MonoBehaviour:
Data: _CaseFileClueImages
- Name: $v
Entry: 7
Data: 62|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 66|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileClueImages
- Name: <UserType>k__BackingField
Entry: 9
Data: 53
Data: 57
- Name: <SystemType>k__BackingField
Entry: 9
Data: 53
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 63|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 64|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- 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: _CaseTitle
- Name: $v
Entry: 7
Data: 65|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseTitle
- Name: <UserType>k__BackingField
Entry: 7
Data: 66|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 66
Data: 57
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1046,19 +1046,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CaseDescription
Data: _CaseTitle
- Name: $v
Entry: 7
Data: 69|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseDescription
Data: _CaseTitle
- Name: <UserType>k__BackingField
Entry: 9
Data: 66
Entry: 7
Data: 70|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 66
Data: 70
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1073,13 +1079,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 71|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 71|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 72|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@ -1100,25 +1106,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CaseIntroVideo
Data: _CaseDescription
- Name: $v
Entry: 7
Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 73|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseIntroVideo
Data: _CaseDescription
- Name: <UserType>k__BackingField
Entry: 7
Data: 73|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
Entry: 9
Data: 70
- Name: <SystemType>k__BackingField
Entry: 9
Data: 73
Data: 70
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1160,19 +1160,79 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CaseIntroVideoTranscript
Data: _CaseIntroVideo
- Name: $v
Entry: 7
Data: 76|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseIntroVideo
- Name: <UserType>k__BackingField
Entry: 7
Data: 77|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 77
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 78|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 79|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- 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: _CaseIntroVideoTranscript
- Name: $v
Entry: 7
Data: 80|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseIntroVideoTranscript
- Name: <UserType>k__BackingField
Entry: 9
Data: 66
Data: 70
- Name: <SystemType>k__BackingField
Entry: 9
Data: 66
Data: 70
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1187,13 +1247,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 77|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 81|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 78|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 82|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@ -1217,76 +1277,16 @@ MonoBehaviour:
Data: _StolenLoot
- Name: $v
Entry: 7
Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _StolenLoot
- Name: <UserType>k__BackingField
Entry: 9
Data: 66
Data: 70
- Name: <SystemType>k__BackingField
Entry: 9
Data: 66
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 80|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 81|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- 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: _AccusedCrook
- Name: $v
Entry: 7
Data: 82|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AccusedCrook
- Name: <UserType>k__BackingField
Entry: 7
Data: 83|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: AccusedCrook, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 73
Data: 70
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1328,25 +1328,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _FinalRoundContinent
Data: _AccusedCrook
- Name: $v
Entry: 7
Data: 86|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FinalRoundContinent
Data: _AccusedCrook
- Name: <UserType>k__BackingField
Entry: 7
Data: 87|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: ContinentMap, Assembly-CSharp
Data: AccusedCrook, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 73
Data: 77
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1388,25 +1388,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CurrentWinningPlayers
Data: _FinalRoundContinent
- Name: $v
Entry: 7
Data: 90|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CurrentWinningPlayers
Data: _FinalRoundContinent
- Name: <UserType>k__BackingField
Entry: 7
Data: 91|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String[], mscorlib
Data: ContinentMap, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 91
Data: 77
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1448,16 +1448,76 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CaseFileDictionary
Data: _CurrentWinningPlayers
- Name: $v
Entry: 7
Data: 94|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileDictionary
Data: _CurrentWinningPlayers
- Name: <UserType>k__BackingField
Entry: 7
Data: 95|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String[], mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 95
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 96|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 97|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- 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: _CaseFileDictionary
- Name: $v
Entry: 7
Data: 98|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CaseFileDictionary
- Name: <UserType>k__BackingField
Entry: 7
Data: 99|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDK3.Data.DataDictionary, VRCSDK3
@ -1466,7 +1526,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 95
Data: 99
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1481,7 +1541,8 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 96|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 100|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 0

View File

@ -37,6 +37,7 @@ public class CaseManager : UdonSharpBehaviour
[SerializeField] private GameManagerRound2 _Round2Manager;
[SerializeField] private GameManagerRound3 _Round3Manager;
[Space]
[SerializeField] private MultiRoundVideoPlayer _MultiRoundVideoPlayer;
[SerializeField] private HostCardManager _HostCard;
[Space]
[SerializeField] private CaseManagerListView _CaseManagerList;
@ -218,6 +219,9 @@ public class CaseManager : UdonSharpBehaviour
public void ContinueToRound1()
{
_MultiRoundVideoPlayer.SetCurrentRound(VideoPlayerRound.Round1);
_Round2Manager.DeinitialiseGameMode();
_Round3Manager.DeinitialiseGameMode();
_HostCard.SetGameManager(_Round1Manager);
_Round1Manager.InitialiseGameMode();
@ -227,7 +231,10 @@ public class CaseManager : UdonSharpBehaviour
public void ContinueToRound2()
{
_MultiRoundVideoPlayer.SetCurrentRound(VideoPlayerRound.Round2);
_Round1Manager.DeinitialiseGameMode();
_Round3Manager.DeinitialiseGameMode();
_HostCard.SetGameManager(_Round2Manager);
_Round2Manager.InitialiseGameMode();
@ -236,6 +243,9 @@ public class CaseManager : UdonSharpBehaviour
public void ContinueToRound3()
{
_MultiRoundVideoPlayer.SetCurrentRound(VideoPlayerRound.Round3);
_Round1Manager.DeinitialiseGameMode();
_Round2Manager.DeinitialiseGameMode();
_HostCard.SetGameManager(_Round3Manager);
_Round3Manager.InitialiseGameMode();

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 10
Data: 8
- Name:
Entry: 7
Data:
@ -410,25 +410,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _Cameras
Data: _CameraController
- Name: $v
Entry: 7
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Cameras
Data: _CameraController
- Name: <UserType>k__BackingField
Entry: 7
Data: 27|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Camera[], UnityEngine.CoreModule
Data: CameraControllerBase, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 27
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -479,142 +479,16 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _CameraAnchors
Data: _AllowInteractionFromHostCard
- Name: $v
Entry: 7
Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CameraAnchors
Data: _AllowInteractionFromHostCard
- Name: <UserType>k__BackingField
Entry: 7
Data: 32|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraAnchor[], Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 33|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Component[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- 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: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 35|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: _CameraController
- Name: $v
Entry: 7
Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CameraController
- Name: <UserType>k__BackingField
Entry: 7
Data: 37|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraControllerBase, Assembly-CSharp
- Name:
Entry: 8
Data:
- 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: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 39|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: _AllowInteractionFromHostCard
- Name: $v
Entry: 7
Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AllowInteractionFromHostCard
- Name: <UserType>k__BackingField
Entry: 7
Data: 41|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
@ -623,7 +497,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 41
Data: 32
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -638,7 +512,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0

View File

@ -50,8 +50,6 @@ public class GameManagerBase : UdonSharpBehaviour
[Space]
[SerializeField] protected Camera[] _Cameras;
[SerializeField] protected CameraAnchor[] _CameraAnchors;
[SerializeField] protected CameraControllerBase _CameraController;
@ -109,11 +107,6 @@ public class GameManagerBase : UdonSharpBehaviour
{
SetOwnershipOfObjects(_CaseManager.GetHostOwner());
for(int i = 0; i < _Cameras.Length && i < _CameraAnchors.Length; i++)
{
_CameraAnchors[i].AttachCamera(_Cameras[i]);
}
_AllowInteractionFromHostCard = true;
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(EnablePlayerMicrophone), true);

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,6 @@ using VRC.SDK3.UdonNetworkCalling;
using VRC.Udon.Common.Interfaces;
using VRC.SDKBase;
using VRC.SDK3.StringLoading;
using CameraSystem;
public enum PresentationMedium
@ -90,6 +89,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusic", MusicEventType.WhereInTheWorld);
SendCustomEventDelayedSeconds(nameof(PlaySecondPartOfThemeMusic), 3.6666666666f);
_CameraControllerRound1.InitialiseCameras();
_CameraControllerRound1.ActivateHostCameraTrigger();
DisableInteraction();
@ -104,6 +104,8 @@ public class GameManagerRound1 : GameManagerBase
_PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.All, "ResetPodium");
}
_CameraControllerRound1.DeinitialiseCameras();
base.DeinitialiseGameMode();
}
@ -118,6 +120,7 @@ public class GameManagerRound1 : GameManagerBase
Networking.SetOwner(NewOwner, _ArrivalDisplay.gameObject);
Networking.SetOwner(NewOwner, _CameraController.gameObject);
Networking.SetOwner(NewOwner, _CameraControllerRound1.gameObject);
base.SetOwnershipOfObjects(NewOwner);
}
@ -158,7 +161,7 @@ public class GameManagerRound1 : GameManagerBase
_GameHasBegun = false;
_VideoPlayer.InitialiseLists(_CaseManager.GetMaps(), _CaseManager.GetVideos());
_VideoPlayer.LoadLists(_CaseManager.GetMaps(), _CaseManager.GetVideos());
_VideoPlayer.SetVideoIndex(_CaseManager.GetIntroVideo());
}
@ -166,6 +169,7 @@ public class GameManagerRound1 : GameManagerBase
private void PlayIntroVideo()
{
_CameraControllerRound1.DeactivateHostCameraTrigger();
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToHostCamera();
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "FadeOutMusic");
@ -310,6 +314,7 @@ public class GameManagerRound1 : GameManagerBase
{
case 0:
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoMusicClueCamera();
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.VideoMusicClue);
@ -327,7 +332,7 @@ public class GameManagerRound1 : GameManagerBase
_QuestionSubstage++;
EnableInteraction("Play Video");
SendCustomEventDelayedSeconds(nameof(_InitialiseVideoMusicClue_EnableInteraction_Private), 3.0f);
} break;
case 1:
{
@ -362,6 +367,12 @@ public class GameManagerRound1 : GameManagerBase
RequestSerialization();
}
public void _InitialiseVideoMusicClue_EnableInteraction_Private()
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToHostCamera();
EnableInteraction("Play Video");
}
private void InitialiseACMECrimenetComputer(DataDictionary Presentation)
{
@ -537,6 +548,7 @@ public class GameManagerRound1 : GameManagerBase
_QuestionCorrectResponse = (int)_CurrentQuestion["Correct Response"].Number;
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 1");
@ -554,10 +566,12 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.As5);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 2");
}
private void MultipleChoiceRevealChoice2()
{
_VideoPlayer.SubMapIndex = 2;
@ -570,10 +584,12 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.C6);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 3");
}
private void MultipleChoiceRevealChoice3()
{
_VideoPlayer.SubMapIndex = 3;
@ -614,10 +630,9 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.D6);
_CameraControllerRound1.SwitchToVideoPlayerCamera();
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 2.0f);
_CameraControllerRound1.ActivateMapToHostAllPlayersCameraSwitcher();
EnableInteraction("Lock Answers");
EnableInteraction("Get Player 1's Response");
}
private void MultipleChoiceLockAnswers()
@ -645,16 +660,56 @@ public class GameManagerRound1 : GameManagerBase
}
}
EnableInteraction("Reveal Answers And Assign Points");
EnableInteraction("Get Player 1's Response");
}
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);
}
int PlayerIndex = PlayerNumber - 1;
_PlayerPodiums[PlayerIndex].HighlightPodium(true);
Interface.HeaderUI.text = _PlayerPodiums[PlayerIndex].PlayerName;
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SendCustomEvent("SwitchToPlayer" + PlayerNumber + "Camera");
if (PlayerNumber < _PlayerPodiums.Length)
{
EnableInteraction("Get Player " + (PlayerNumber + 1) + "'s Response");
}
else
{
EnableInteraction("Reveal Correct Answer");
}
}
private void MultipleChoiceRevealAnswersAndAssignPoints()
{
for (int i = 0; i < _PlayerPodiums.Length; i++)
{
_PlayerPodiums[i].HighlightPodium(false);
_PlayerPodiums[i].SendCustomNetworkEvent(NetworkEventTarget.Owner, "ShowAuxiliaryMapScreen", true);
}
_CameraControllerRound1.ActivateMapToHostAllPlayersCameraSwitcher();
SendCustomEventDelayedSeconds(nameof(_MultipleChoiceRevealAnswer_Private), 0.333333333333f);
}
public void _MultipleChoiceRevealAnswer_Private()
{
HostCardMultipleChoiceInterface Interface =
(HostCardMultipleChoiceInterface)GetHostCardInterface(RoundSegmentType.MultipleChoice);
@ -680,18 +735,13 @@ public class GameManagerRound1 : GameManagerBase
_VideoPlayer.FlashCorrectAnswer = true;
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Next Question");
}
private void BeginLightningRound()
{
_CameraControllerRound1.SwitchToWideShotCamera();
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(PlayLightningRoundAnimation));
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 3.0f);
HostCardLightningRoundInterface Interface =
(HostCardLightningRoundInterface)GetHostCardInterface(RoundSegmentType.LightningRound);
@ -705,6 +755,8 @@ public class GameManagerRound1 : GameManagerBase
EnableBuzzers();
_CameraControllerRound1.ActivateLightningStartToHostAllPlayersCameraSwitcher();
EnableInteraction("First Question");
}
[NetworkCallable]
@ -779,17 +831,13 @@ public class GameManagerRound1 : GameManagerBase
_QuestionSubstage++;
AdvanceQuestion();
_CameraControllerRound1.SendCustomEventDelayedSeconds(
"SwitchToAllPlayersCamera", 1.0f);
_CameraControllerRound1.SendCustomEventDelayedSeconds(
"ActivateHostAllPlayersCameraSwitcher", 4.0f);
_CameraControllerRound1.ActivateCorrectAnswerToHostAllPlayersCameraSwitcher();
}
else
{
WaitForBuzzInsWithoutLastPlayer();
_CameraControllerRound1.SendCustomEventDelayedSeconds(
"ActivateHostAllPlayersCameraSwitcher", 1.0f);
_CameraControllerRound1.ActivateIncorrectAnswerToHostAllPlayersCameraSwitcher();
}
}
@ -817,8 +865,7 @@ public class GameManagerRound1 : GameManagerBase
WaitForBuzzInsWithoutLastPlayer();
}
_CameraControllerRound1.SendCustomEventDelayedSeconds(
"ActivateHostAllPlayersCameraSwitcher", 1.0f);
_CameraControllerRound1.ActivateIncorrectAnswerToHostAllPlayersCameraSwitcher();
}
@ -834,15 +881,14 @@ public class GameManagerRound1 : GameManagerBase
Interface.ChoiceUI[i].text = "";
}
EnableBuzzers();
EnableInteraction("Play The Music");
}
private void PlayTheChaseMusic()
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToWideShotCamera();
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 5.0f);
SendCustomEventDelayedSeconds(nameof(_PlayTheChaseMusic_EnableInteraction_Private), 5.0f);
HostCardBetweenRoundsInterface Interface =
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
@ -852,6 +898,10 @@ public class GameManagerRound1 : GameManagerBase
Interface.HeaderUI.text = RoundSegmentTypeToString(RoundSegmentType.TheChase);
Interface.CommentUI.text = "All of these questions are worth 5 Acme Crimebucks. Hands on your buzzers, watch the monitor, listen carefully. Here we go.";
}
public void _PlayTheChaseMusic_EnableInteraction_Private()
{
_CameraControllerRound1.ActivateHostAllPlayersCameraSwitcher();
EnableBuzzers();
@ -885,17 +935,16 @@ public class GameManagerRound1 : GameManagerBase
{
Interface.ChoiceUI[i].text = Choices[i].ToString();
}
Interface.OtherButton.interactable = true;
_QuestionCorrectResponse = (int)CurrentClue["Correct Response"].Number;
for (int i = 0; i < Interface.ChoiceButtons.Length && i < Interface.ChoiceButtonImages.Length; i++)
{
Interface.ChoiceButtonImages[i].color = (_QuestionCorrectResponse == (i + 1)) ? Color.green : Color.red;
Interface.ChoiceButtons[i].interactable = true;
}
Interface.OtherButton.interactable = true;
SendCustomEventDelayedSeconds(nameof(DisplayNextChaseMap), 1.25f);
SendCustomEventDelayedSeconds(nameof(DisplayNextChaseMap), 1.2f);
EnableBuzzInPeriodForAllPlayers();
}
@ -903,6 +952,15 @@ public class GameManagerRound1 : GameManagerBase
{
_VideoPlayer.SubMapIndex = _QuestionSubstage * 2;
HostCardTheChaseInterface Interface =
(HostCardTheChaseInterface)GetHostCardInterface(RoundSegmentType.TheChase);
for (int i = 0; i < Interface.ChoiceButtons.Length && i < Interface.ChoiceButtonImages.Length; i++)
{
Interface.ChoiceButtons[i].interactable = true;
}
Interface.OtherButton.interactable = true;
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
}
@ -935,11 +993,9 @@ public class GameManagerRound1 : GameManagerBase
}
public void TheChaseEndClue()
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.D6);
HostCardTheChaseInterface Interface =
(HostCardTheChaseInterface)GetHostCardInterface(RoundSegmentType.TheChase);
@ -951,12 +1007,18 @@ public class GameManagerRound1 : GameManagerBase
EndBuzzInPeriod();
_VideoPlayer.SubMapIndex++;
_QuestionSubstage++;
SendCustomEventDelayedSeconds(nameof(_TheChaseEndClue_AdvanceMap_Private), 0.3333333333333f);
AdvanceQuestion();
}
public void _TheChaseEndClue_AdvanceMap_Private()
{
_VideoPlayer.SubMapIndex++;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.D6);
}
private void IntroduceFinalRound()
@ -971,8 +1033,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();
@ -1011,12 +1072,7 @@ public class GameManagerRound1 : GameManagerBase
"PlayMusic", MusicEventType.ThinkAboutIt);
SendCustomEventDelayedSeconds(nameof(ThinkAboutItCountdownFinished), 15.0f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToVideoPlayerCamera", 2.0f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToPlayer1Camera", 4.5f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToPlayer2Camera", 7.0f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToPlayer3Camera", 9.5f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToVideoPlayerCamera", 12.0f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 14.5f);
_CameraControllerRound1.ActivateThinkAboutItCameraSwitcher();
}
public void ThinkAboutItCountdownFinished()
{
@ -1073,6 +1129,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.As5);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 2");
@ -1088,6 +1145,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.C6);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToVideoPlayerCamera();
EnableInteraction("Reveal Choice 3");
@ -1132,8 +1190,7 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFXAtPitch", SFXEventType.Ding, AudioManager.D6);
_CameraControllerRound1.SwitchToVideoPlayerCamera();
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 2.0f);
_CameraControllerRound1.ActivateMapToHostAllPlayersCameraSwitcher();
EnableInteraction("Lock Answers");
}
@ -1198,6 +1255,7 @@ public class GameManagerRound1 : GameManagerBase
{
int PlayerNumber = _FinalRoundPlayersSortedByScore[PlayerPlace - 1];
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SendCustomEvent("SwitchToPlayer" + PlayerNumber + "Camera");
HostCardBetweenRoundsInterface Interface =
@ -1230,8 +1288,7 @@ public class GameManagerRound1 : GameManagerBase
EnableInteraction("Reveal Next Player Answer");
}
_CameraControllerRound1.SendCustomEventDelayedSeconds("SwitchToAllPlayersCamera", 1.5f);
_CameraControllerRound1.SendCustomEventDelayedSeconds("ActivateHostAllPlayersCameraSwitcher", 4.0f);
_CameraControllerRound1.ActivateCorrectAnswerToHostAllPlayersCameraSwitcher();
}
private bool FinalRoundCheckNeedForTiebreaker()
@ -1276,6 +1333,8 @@ public class GameManagerRound1 : GameManagerBase
}
TiebreakerNeeded = true;
PrepareTiebreakerRound(Number2Podium.PlayerNumber, Number3Podium.PlayerNumber);
_CameraControllerRound1.ActivateHostAllPlayersCameraSwitcher();
}
else
{
@ -1363,6 +1422,7 @@ public class GameManagerRound1 : GameManagerBase
if (TiebreakerNeeded)
{
_CurrentQuestionType = RoundSegmentType.Tiebreaker;
EnableInteraction("Advance To Tiebreaker");
}
else
@ -1394,6 +1454,7 @@ public class GameManagerRound1 : GameManagerBase
{
_Modem.Teleport();
SendCustomEventDelayedSeconds(nameof(_ContinueToRound2_Private), 2.5f);
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToModemCamera();
}
public void _ContinueToRound2_Private()
@ -1486,8 +1547,9 @@ public class GameManagerRound1 : GameManagerBase
public void TiebreakerIncorrectResponse()
{
_BuzzedInPlayer = -1;
_BuzzInAllowed = true;
EnableBuzzInPeriodForAllPlayers();
_CameraControllerRound1.ActivateIncorrectAnswerToHostAllPlayersCameraSwitcher();
RequestSerialization();
}
@ -1506,6 +1568,8 @@ public class GameManagerRound1 : GameManagerBase
DisableBuzzers();
EndBuzzInPeriod();
_CameraControllerRound1.ActivateCorrectAnswerToHostAllPlayersCameraSwitcher();
EnableInteraction("End Tiebreaker");
}
@ -1632,22 +1696,26 @@ public class GameManagerRound1 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All,
"PlaySFX", SFXEventType.Buzzer);
SendCustomEventDelayedSeconds(nameof(BuzzInCamera), 0.75f);
_CameraControllerRound1.ActivateBuzzedInPlayerCameraSwitcher();
}
public void BuzzInCamera()
{
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;
}
@ -1726,9 +1794,12 @@ public class GameManagerRound1 : GameManagerBase
case 2: MultipleChoiceRevealChoice1(); break;
case 3: MultipleChoiceRevealChoice2(); break;
case 4: MultipleChoiceRevealChoice3(); break;
case 5: MultipleChoiceLockAnswers(); break;
case 6: MultipleChoiceRevealAnswersAndAssignPoints(); break;
case 7: 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;
}
}
@ -1816,14 +1887,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);
}
@ -1833,6 +1905,7 @@ public class GameManagerRound1 : GameManagerBase
{
if ((_VideoPlayer.GetVideoDuration() - _VideoPlayer.GetVideoTime()) <= 2.0f)
{
_CameraControllerRound1.DisableAllSwitchers();
_CameraControllerRound1.SwitchToHostCamera();
}
else

File diff suppressed because it is too large Load Diff

View File

@ -36,12 +36,26 @@ public class GameManagerRound2 : GameManagerBase
[UdonSynced] private int _CurrentPlayerCounter = 0;
[UdonSynced] private string[] _Players = new string[2];
private CameraControllerRound2 _CameraControllerRound2 = null;
private int _PanelToReveal_Cache = -1;
private readonly Color COLOR_STANDARD = new Color(0.78431f, 0.78431f, 0.78431f);
private readonly Color COLOR_RED = new Color(0.78431f, 0.0f, 0.0f);
private readonly Color COLOR_YELLOW = new Color(0.78431f, 0.78431f, 0.0f);
private readonly Color COLOR_GREEN = new Color(0.0f, 0.78431f, 0.0f);
void Start()
{
_CameraControllerRound2 = (CameraControllerRound2)_CameraController;
if (_CameraControllerRound2 == null)
{
Debug.LogError("Camera controller is the wrong type. This will cause a crash for sure.");
}
}
public override void InitialiseGameMode()
{
base.InitialiseGameMode();
@ -54,19 +68,22 @@ public class GameManagerRound2 : GameManagerBase
_JailChain.Initialise();
_JailPhone.Initialise();
_JailPlayer.PlayVideo = false;
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(EnableAudienceSilencer), true);
_CameraControllerRound2.InitialiseCameras();
_CameraControllerRound2.DisableAllSwitchers();
_CameraControllerRound2.ActivateHostAllPlayersCameraTrigger();
RequestSerialization();
}
public override void DeinitialiseGameMode()
{
_JailPlayer.PlayVideo = false;
_JailPhone.Activate = false;
_JailChain.Show = false;
_CameraControllerRound2.DeinitialiseCameras();
base.DeinitialiseGameMode();
}
@ -86,6 +103,9 @@ public class GameManagerRound2 : GameManagerBase
Networking.SetOwner(NewOwner, _JailPlayer.gameObject);
Networking.SetOwner(NewOwner, _JailPhone.gameObject);
Networking.SetOwner(NewOwner, _CameraController.gameObject);
Networking.SetOwner(NewOwner, _CameraControllerRound2.gameObject);
base.SetOwnershipOfObjects(NewOwner);
}
@ -143,6 +163,9 @@ public class GameManagerRound2 : GameManagerBase
private void DisplayBriefing()
{
_CameraControllerRound2.DeactivateHostAllPlayersCameraTrigger();
_CameraControllerRound2.ActivateHostPlayersAndWideShotCameraSwitcher();
HostCardRecoverTheLootExplainerInterface RecoverTheLootInterface =
(HostCardRecoverTheLootExplainerInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLootExplainer);
@ -173,6 +196,9 @@ public class GameManagerRound2 : GameManagerBase
HostCardRecoverTheLootInterface RecoverTheLootInterface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
RecoverTheLootInterface.SetComment(_Players[_CurrentPlayerCounter % _Players.Length] + ", you're up first.", COLOR_STANDARD);
RecoverTheLootInterface.SetLootButton(_LocationBoard.LootLocation);
RecoverTheLootInterface.SetWarrantButton(_LocationBoard.WarrantLocation);
RecoverTheLootInterface.SetCrookButton(_LocationBoard.CrookLocation);
RecoverTheLootInterface.EnableAllPanelButtons(true);
for (int i = 0; i < _Landmarks.Length; i++)
@ -182,6 +208,8 @@ public class GameManagerRound2 : GameManagerBase
_JailPlayer.VideoIndex = (int)_CaseManager.GetCrook();
SwitchToCurrentPlayerAndLocationBoardSwitcher();
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
"PlayMusicLoop", MusicEventType.RecoverTheLoot);
}
@ -191,6 +219,8 @@ public class GameManagerRound2 : GameManagerBase
HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment("On the right track. You get a free turn.", COLOR_GREEN);
_CameraControllerRound2.ActivateLocationBoardAndShortHostCameraSwitcher();
}
public void AlmostThere()
@ -198,6 +228,8 @@ public class GameManagerRound2 : GameManagerBase
HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment("Almost got it. Another free turn.", COLOR_YELLOW);
_CameraControllerRound2.ActivateLocationBoardAndShortHostCameraSwitcher();
}
public void OutOfOrder(PanelType Type)
@ -220,6 +252,8 @@ public class GameManagerRound2 : GameManagerBase
}
Interface.SetComment("Found " + PanelToken + ". Remember the order: loot, warrant, crook. Use some strategy.", COLOR_YELLOW);
_CameraControllerRound2.ActivateLocationBoardAndLongHostCameraSwitcher();
}
// All of these next functions are the end of a turn, and should disable
@ -268,6 +302,9 @@ public class GameManagerRound2 : GameManagerBase
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
"StopMusic");
_CameraControllerRound2.ActivateLocationBoardAndWinningPlayerCameraSwitcher();
_CameraControllerRound2.ActivateHostWinnerCameraTrigger();
AdvanceRound();
}
@ -298,6 +335,8 @@ public class GameManagerRound2 : GameManagerBase
_JailPhone.Activate = true;
_CameraControllerRound2.DeactivateHostWinnerCameraTrigger();
EnableInteraction("Go To The Map");
}
@ -320,10 +359,7 @@ public class GameManagerRound2 : GameManagerBase
{
_CurrentPlayerCounter++;
NetworkCalling.SendCustomNetworkEvent(
(IUdonEventReceiver)_LocationBoard,
NetworkEventTarget.All,
"ResetPanelBoard");
_LocationBoard.ResetPanelBoard();
if (UpdateHostCardInterface)
{
@ -340,6 +376,8 @@ public class GameManagerRound2 : GameManagerBase
HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.EnableAllPanelButtons(true);
SwitchToCurrentPlayerAndLocationBoardSwitcher();
}
@ -394,12 +432,25 @@ public class GameManagerRound2 : GameManagerBase
public void Button_RevealPanel(int Panel)
{
if (_PanelToReveal_Cache >= 0)
{
return;
}
((HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot))
.DisablePanelButton(Panel);
NetworkCalling.SendCustomNetworkEvent(
(IUdonEventReceiver)_LocationBoard,
NetworkEventTarget.All,
"RevealPanel", Panel);
_PanelToReveal_Cache = Panel;
_CameraControllerRound2.DisableAllSwitchers();
_CameraControllerRound2.SwitchToLocationBoardCamera();
SendCustomEventDelayedSeconds(nameof(_RevealLocationBoardPanel_Private), 0.33333333333333f);
}
public void _RevealLocationBoardPanel_Private()
{
_LocationBoard.RevealPanel(_PanelToReveal_Cache);
_PanelToReveal_Cache = -1;
}
[NetworkCallable]
@ -413,21 +464,37 @@ public class GameManagerRound2 : GameManagerBase
_JailPlayer.PlayVideo = true;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayCrookInJail", _CaseManager.GetCrook());
SendCustomEventDelayedSeconds(nameof(HideJailChain), 1.5f);
}
public void HideJailChain()
{
_JailChain.Show = false;
_CameraControllerRound2.DeactivateHostWinnerCameraTrigger();
_CameraControllerRound2.ActivateVideoPlayerToWinningPlayerCameraSwitcher();
}
public void PhoneRing()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlaySFX", SFXEventType.PhoneRing);
_CameraControllerRound2.DeactivateHostWinnerCameraTrigger();
_CameraControllerRound2.DisableAllSwitchers();
_CameraControllerRound2.SwitchToHostAndWinnerCamera();
}
public void PlayJailCall()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayJailCall", _CaseManager.GetCrook(), _CaseManager.GetFinalRoundContinent());
SendCustomEventDelayedSeconds(nameof(CheckIfJailCallIsOver), 1.0f);
_CameraControllerRound2.SwitchToHostAndWinnerCamera();
}
public void CheckIfJailCallIsOver()
{
if (_AudioManager.IsSFXPlaying())
{
SendCustomEventDelayedSeconds(nameof(CheckIfJailCallIsOver), 1.0f);
}
else
{
_CameraControllerRound2.DisableAllSwitchers();
_CameraControllerRound2.SwitchToHostAndWinnerCamera();
}
}
@ -449,6 +516,35 @@ public class GameManagerRound2 : GameManagerBase
public void Button_RevealPanel15() { Button_RevealPanel(15); }
public void SwitchToCurrentPlayerAndLocationBoardSwitcher()
{
switch (_CurrentPlayerCounter % 2)
{
case 0:
_CameraControllerRound2.ActivatePlayer1AndLocationBoardCameraSwitcher();
break;
case 1:
_CameraControllerRound2.ActivatePlayer2AndLocationBoardCameraSwitcher();
break;
}
}
public void SwitchToCurrentPlayerCamera()
{
_CameraControllerRound2.DisableAllSwitchers();
switch (_CurrentPlayerCounter % 2)
{
case 0:
_CameraControllerRound2.SwitchToPlayer1Camera();
break;
case 1:
_CameraControllerRound2.SwitchToPlayer2Camera();
break;
}
}
private string PanelTypeToString(PanelType Type)
{
switch(Type)

File diff suppressed because it is too large Load Diff

View File

@ -32,19 +32,12 @@ public enum GameStatus
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class GameManagerRound3 : GameManagerBase
{
[Space, Header("Camera Controls")]
[SerializeField] private CameraTimedSwitcher _HostPlayerTimerToggle;
[SerializeField] private GameObject _CameraTriggersGroup;
[SerializeField] private Camera _HostCamera;
[SerializeField] private CameraAnchor[] _HostCameraAnchors;
[SerializeField] private Camera _PlayerCamera;
[SerializeField] private CameraAnchor[] _PlayerCameraAnchors;
[Space]
[SerializeField] private FloorMap[] _Maps;
[SerializeField] private FloorMapMarker[] _Markers;
[SerializeField] private CaptureCarmenNewspaper _CaptureCarmenNewspaper;
[SerializeField] private NewspaperDisplay _NewspaperPublicDisplay;
[SerializeField] private RandomVideoPlayer _EndingPlayer;
[UdonSynced, FieldChangeCallback(nameof(CurrentlyActiveMap))] private ContinentMap _CurrentlyActiveMap = ContinentMap.INDEX_MAX;
@ -64,6 +57,18 @@ public class GameManagerRound3 : GameManagerBase
private const int MAX_SUCCESS_COUNT = 8;
private const int MAX_FAILURE_COUNT = 2;
private CameraControllerRound3 _CameraControllerRound3 = null;
void Start()
{
_CameraControllerRound3 = (CameraControllerRound3)_CameraController;
if (_CameraControllerRound3 == null)
{
Debug.LogError("Camera controller is the wrong type. This will cause a crash for sure.");
}
}
public override void InitialiseGameMode()
{
@ -82,20 +87,22 @@ public class GameManagerRound3 : GameManagerBase
InitialiseMarkers();
GetCurrentMap().RandomiseCountries();
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(ActivateCameraSwitchers), false);
_EndingPlayer.PlayVideo = false;
_CaptureCarmenNewspaper.ResetAnimation();
_NewspaperPublicDisplay.Activate(false);
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(EnableAudienceSilencer), false);
_CameraControllerRound3.InitialiseCameras();
_CameraControllerRound3.PlayIFeelGood(true);
RequestSerialization();
}
[NetworkCallable]
public void ActivateCameraSwitchers(bool Activate)
{
_CameraTriggersGroup.SetActive(Activate);
}
public override void DeinitialiseGameMode()
{
_EndingPlayer.PlayVideo = false;
_CameraControllerRound3.DeinitialiseCameras();
base.DeinitialiseGameMode();
}
@ -108,11 +115,13 @@ public class GameManagerRound3 : GameManagerBase
for (int i = 0; i < _Markers.Length; i++)
Networking.SetOwner(NewOwner, _Markers[i].gameObject);
Networking.SetOwner(NewOwner, _HostPlayerTimerToggle.gameObject);
Networking.SetOwner(NewOwner, _CameraTriggersGroup);
Networking.SetOwner(NewOwner, _CaptureCarmenNewspaper.gameObject);
Networking.SetOwner(NewOwner, _NewspaperPublicDisplay.gameObject);
Networking.SetOwner(NewOwner, _EndingPlayer.gameObject);
Networking.SetOwner(NewOwner, _CameraController.gameObject);
Networking.SetOwner(NewOwner, _CameraControllerRound3.gameObject);
base.SetOwnershipOfObjects(NewOwner);
}
@ -175,7 +184,7 @@ public class GameManagerRound3 : GameManagerBase
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "FadeOutMusic");
_HostPlayerTimerToggle.Activate = true;
_CameraControllerRound3.ActivateHostPlayerCameraSwitcher();
EnableInteraction("Begin");
}
@ -186,8 +195,9 @@ public class GameManagerRound3 : GameManagerBase
_GameStatus = GameStatus.Begin;
UpdateInterface();
_HostPlayerTimerToggle.Activate = false;
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(ActivateCameraSwitchers), true);
_CameraControllerRound3.DisableAllSwitchers();
_CameraControllerRound3.HostPlayerTimerToggle.Activate = false;
_CameraControllerRound3.ActivatePlayfieldSwitchTriggerGroup = true;
GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", true);
_EndingPlayer.LoadRandomVideo();
@ -319,8 +329,7 @@ public class GameManagerRound3 : GameManagerBase
GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", true);
}
_HostCameraAnchors[ActiveMarker].AttachCamera(_HostCamera);
_PlayerCameraAnchors[ActiveMarker].AttachCamera(_PlayerCamera);
_CameraControllerRound3.MarkerCameraAnchorPosition = ActiveMarker;
}
[NetworkCallable]
@ -349,7 +358,9 @@ public class GameManagerRound3 : GameManagerBase
SendCustomEventDelayedSeconds(nameof(EndCarmenInJailSFX), 7.0f);
}
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(ActivateCameraSwitchers), false);
_CameraControllerRound3.ActivatePlayfieldSwitchTriggerGroup = false;
_CameraControllerRound3.DisableAllSwitchers();
_CameraControllerRound3.SwitchToFrontCamera();
}
public void PlayWindDownMusic()
{
@ -363,7 +374,8 @@ public class GameManagerRound3 : GameManagerBase
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "StopSFX");
_CaptureCarmenNewspaper.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayWinAnimation", GetRound3PlayerName());
_CaptureCarmenNewspaper.PlayWinAnimation(GetRound3PlayerName());
_NewspaperPublicDisplay.Activate(true);
}
[NetworkCallable]
@ -390,12 +402,15 @@ public class GameManagerRound3 : GameManagerBase
SendCustomEventDelayedSeconds(nameof(PlayNewspaperLoseAnimation), 3.0f);
}
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(ActivateCameraSwitchers), false);
_CameraControllerRound3.ActivatePlayfieldSwitchTriggerGroup = false;
_CameraControllerRound3.DisableAllSwitchers();
_CameraControllerRound3.SwitchToFrontCamera();
}
public void PlayNewspaperLoseAnimation()
{
_CaptureCarmenNewspaper.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayLoseAnimation");
_CaptureCarmenNewspaper.PlayLoseAnimation();
_NewspaperPublicDisplay.Activate(true);
}
@ -406,6 +421,10 @@ public class GameManagerRound3 : GameManagerBase
Interface.HeaderUI.text = "Rockin' it a capella";
Interface.CommentUI.text = "";
_NewspaperPublicDisplay.Activate(false);
_CameraControllerRound3.PlayDoItRockapella(true);
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "FadeOutMusic");
SendCustomEventDelayedSeconds(nameof(PlayEndingTheme), 1.25f);
@ -427,8 +446,12 @@ public class GameManagerRound3 : GameManagerBase
Interface.HeaderUI.text = "Game is over. Load a new case file to start again.";
Interface.CommentUI.text = "";
_EndingPlayer.PlayVideo = false;
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "FadeOutMusic");
_CameraControllerRound3.PlayIFeelGood(false);
_CameraControllerRound3.PlayDoItRockapella(false);
_CaseManager.EndGame();
DisableInteraction("Game Over");

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 9
Data: 13
- Name:
Entry: 7
Data:
@ -320,19 +320,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ButtonColours
Data: _ButtonColourEnabled
- Name: $v
Entry: 7
Data: 17|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ButtonColours
Data: _ButtonColourEnabled
- Name: <UserType>k__BackingField
Entry: 7
Data: 18|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Color[], UnityEngine.CoreModule
Data: UnityEngine.Color, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -350,13 +350,22 @@ MonoBehaviour:
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 19|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
Data: 1
- Name:
Entry: 7
Data: 20|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
@ -374,25 +383,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ButtonColourEnabled
Data: _ButtonColourDisabled
- Name: $v
Entry: 7
Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 21|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ButtonColourEnabled
Data: _ButtonColourDisabled
- Name: <UserType>k__BackingField
Entry: 7
Data: 21|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Color, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
Entry: 9
Data: 18
- Name: <SystemType>k__BackingField
Entry: 9
Data: 21
Data: 18
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -404,7 +407,7 @@ MonoBehaviour:
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
@ -428,19 +431,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ButtonColourDisabled
Data: _ButtonColourLoot
- Name: $v
Entry: 7
Data: 23|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ButtonColourDisabled
Data: _ButtonColourLoot
- Name: <UserType>k__BackingField
Entry: 9
Data: 21
Data: 18
- Name: <SystemType>k__BackingField
Entry: 9
Data: 21
Data: 18
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -452,10 +455,67 @@ MonoBehaviour:
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 25|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- 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: _ButtonColourWarrant
- Name: $v
Entry: 7
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ButtonColourWarrant
- Name: <UserType>k__BackingField
Entry: 9
Data: 18
- Name: <SystemType>k__BackingField
Entry: 9
Data: 18
- 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: 27|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@ -476,19 +536,73 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ButtonColourAlreadyChosen
Data: _ButtonColourCrook
- Name: $v
Entry: 7
Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ButtonColourAlreadyChosen
Data: _ButtonColourCrook
- Name: <UserType>k__BackingField
Entry: 9
Data: 21
Data: 18
- Name: <SystemType>k__BackingField
Entry: 9
Data: 21
Data: 18
- 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: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- 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: _LootButton
- Name: $v
Entry: 7
Data: 30|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LootButton
- Name: <UserType>k__BackingField
Entry: 7
Data: 31|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 31
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -503,7 +617,103 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 32|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- 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: _WarrantButton
- Name: $v
Entry: 7
Data: 33|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _WarrantButton
- Name: <UserType>k__BackingField
Entry: 9
Data: 31
- Name: <SystemType>k__BackingField
Entry: 9
Data: 31
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- 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: _CrookButton
- Name: $v
Entry: 7
Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CrookButton
- Name: <UserType>k__BackingField
Entry: 9
Data: 31
- Name: <SystemType>k__BackingField
Entry: 9
Data: 31
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0

View File

@ -11,12 +11,17 @@ using VRC.Udon;
public class HostCardRecoverTheLootInterface : HostCardInterfaceBase
{
[SerializeField] private TextMeshProUGUI _CommentUI;
[Space]
public Color _ButtonColourEnabled = Color.white;
public Color _ButtonColourDisabled = Color.gray;
[Space]
public Color _ButtonColourLoot = new Color(0.0f, 1.0f, 1.0f);
public Color _ButtonColourWarrant = new Color(1.0f, 1.0f, 0.0f);
public Color _ButtonColourCrook = new Color(0.0f, 1.0f, 0.0f);
private Color[] _ButtonColours;
private Color _ButtonColourEnabled = Color.white;
private Color _ButtonColourDisabled = Color.gray;
private Color _ButtonColourAlreadyChosen = Color.yellow;
private int _LootButton = -1;
private int _WarrantButton = -1;
private int _CrookButton = -1;
public void SetComment(string Comment, Color CommentColour)
@ -43,5 +48,25 @@ public class HostCardRecoverTheLootInterface : HostCardInterfaceBase
ChoiceButtons[i].enabled = Enable;
ChoiceButtonImages[i].color = Enable ? _ButtonColourEnabled : _ButtonColourDisabled;
}
if (_LootButton >= 0) ChoiceButtonImages[_LootButton].color = _ButtonColourLoot;
if (_WarrantButton >= 0) ChoiceButtonImages[_WarrantButton].color = _ButtonColourWarrant;
if (_CrookButton >= 0) ChoiceButtonImages[_CrookButton].color = _ButtonColourCrook;
}
public void SetLootButton(int Index)
{
_LootButton = (Index - 1) % ChoiceButtons.Length;
}
public void SetWarrantButton(int Index)
{
_WarrantButton = (Index - 1) % ChoiceButtons.Length;
}
public void SetCrookButton(int Index)
{
_CrookButton = (Index - 1) % ChoiceButtons.Length;
}
}

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 9
Data: 10
- Name:
Entry: 7
Data:
@ -116,19 +116,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ChainPivot
Data: _Pickup
- Name: $v
Entry: 7
Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ChainPivot
Data: _Pickup
- Name: <UserType>k__BackingField
Entry: 7
Data: 8|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Transform, UnityEngine.CoreModule
Data: VRC.SDK3.Components.VRCPickup, VRCSDK3
- Name:
Entry: 8
Data:
@ -185,19 +185,79 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ChainHome
Data: _ChainPivot
- Name: $v
Entry: 7
Data: 12|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ChainPivot
- Name: <UserType>k__BackingField
Entry: 7
Data: 13|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Transform, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 13
- 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: 14|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 15|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: _ChainHome
- Name: $v
Entry: 7
Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ChainHome
- Name: <UserType>k__BackingField
Entry: 9
Data: 8
Data: 13
- Name: <SystemType>k__BackingField
Entry: 9
Data: 8
Data: 13
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -212,13 +272,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 13|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 14|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 18|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -242,76 +302,16 @@ MonoBehaviour:
Data: _PullTarget
- Name: $v
Entry: 7
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PullTarget
- Name: <UserType>k__BackingField
Entry: 9
Data: 8
Data: 13
- Name: <SystemType>k__BackingField
Entry: 9
Data: 8
- 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: 16|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 17|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: _JailChainAnimator
- Name: $v
Entry: 7
Data: 18|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _JailChainAnimator
- Name: <UserType>k__BackingField
Entry: 7
Data: 19|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Animator, UnityEngine.AnimationModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 19
Data: 13
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -329,19 +329,10 @@ MonoBehaviour:
Data: 20|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
Data: 1
- Name:
Entry: 7
Data: 21|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 22|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 21|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -362,25 +353,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ReturnSpeedMultiplier
Data: _JailChainAnimator
- Name: $v
Entry: 7
Data: 23|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 22|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ReturnSpeedMultiplier
Data: _JailChainAnimator
- Name: <UserType>k__BackingField
Entry: 7
Data: 24|System.RuntimeType, mscorlib
Data: 23|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Single, mscorlib
Data: UnityEngine.Animator, UnityEngine.AnimationModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 24
Data: 23
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -395,13 +386,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 25|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
Data: 2
- Name:
Entry: 7
Data: 26|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 25|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@ -410,7 +401,76 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 27|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
Data: 26|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: _ReturnSpeedMultiplier
- Name: $v
Entry: 7
Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ReturnSpeedMultiplier
- Name: <UserType>k__BackingField
Entry: 7
Data: 28|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Single, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 28
- 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: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 30|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 31|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- Name: tooltip
Entry: 1
Data: Speed at which the chain returns to its neutral pose.
@ -419,7 +479,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 28|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 32|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -443,13 +503,13 @@ MonoBehaviour:
Data: _Show
- Name: $v
Entry: 7
Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 33|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Show
- Name: <UserType>k__BackingField
Entry: 7
Data: 30|System.RuntimeType, mscorlib
Data: 34|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
@ -458,67 +518,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 30
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 32|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 33|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: _PullChain
- Name: $v
Entry: 7
Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PullChain
- Name: <UserType>k__BackingField
Entry: 9
Data: 30
- Name: <SystemType>k__BackingField
Entry: 9
Data: 30
Data: 34
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -536,13 +536,73 @@ MonoBehaviour:
Data: 35|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
Data: 2
- Name:
Entry: 7
Data: 36|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 37|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: _PullChain
- Name: $v
Entry: 7
Data: 38|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PullChain
- Name: <UserType>k__BackingField
Entry: 9
Data: 34
- Name: <SystemType>k__BackingField
Entry: 9
Data: 34
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 39|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 40|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
@ -563,16 +623,16 @@ MonoBehaviour:
Data: _HasBeenActivated
- Name: $v
Entry: 7
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 41|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _HasBeenActivated
- Name: <UserType>k__BackingField
Entry: 9
Data: 30
Data: 34
- Name: <SystemType>k__BackingField
Entry: 9
Data: 30
Data: 34
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -587,13 +647,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 39|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 43|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:

View File

@ -1,8 +1,7 @@

using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
using VRC.SDK3.Components;
using VRC.Udon.Common.Interfaces;
@ -11,6 +10,7 @@ public class JailChain : UdonSharpBehaviour
{
[SerializeField] private GameManagerRound2 _GameManager;
[Space]
[SerializeField] private VRCPickup _Pickup;
[SerializeField] private Transform _ChainPivot;
[SerializeField] private Transform _ChainHome;
[SerializeField] private Transform _PullTarget;
@ -34,10 +34,7 @@ public class JailChain : UdonSharpBehaviour
_HasBeenActivated = true;
RequestSerialization();
if (Networking.IsOwner(gameObject))
{
_GameManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayInJailAnimation");
}
_GameManager.SendCustomNetworkEvent(NetworkEventTarget.Owner, "PlayInJailAnimation");
}
}
else
@ -60,9 +57,18 @@ public class JailChain : UdonSharpBehaviour
public override void OnDrop()
{
_PullChain = false;
if (_HasBeenActivated)
{
_Pickup.pickupable = false;
SendCustomEventDelayedSeconds(nameof(HideJailChain), 3.0f);
}
RequestSerialization();
base.OnDrop();
}
public void HideJailChain()
{
Show = false;
}
public void Initialise()
@ -83,6 +89,7 @@ public class JailChain : UdonSharpBehaviour
set
{
_Show = value;
if (_Show) _Pickup.pickupable = true;
_JailChainAnimator.SetBool("Show", _Show);
RequestSerialization();
}

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 21
Data: 22
- Name:
Entry: 7
Data:
@ -902,13 +902,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _ActiveSpinners
Data: _RevealedPanel
- Name: $v
Entry: 7
Data: 60|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ActiveSpinners
Data: _RevealedPanel
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
@ -932,13 +932,19 @@ MonoBehaviour:
Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
Data: 2
- Name:
Entry: 7
Data: 62|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 63|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
@ -959,13 +965,13 @@ MonoBehaviour:
Data: _OrderIsCorrect
- Name: $v
Entry: 7
Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _OrderIsCorrect
- Name: <UserType>k__BackingField
Entry: 7
Data: 64|System.RuntimeType, mscorlib
Data: 65|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean[], mscorlib
@ -974,7 +980,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 64
Data: 65
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -989,13 +995,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 65|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 66|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 66|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 67|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@ -1019,16 +1025,16 @@ MonoBehaviour:
Data: _HasBeenCheckedBefore
- Name: $v
Entry: 7
Data: 67|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 68|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _HasBeenCheckedBefore
- Name: <UserType>k__BackingField
Entry: 9
Data: 64
Data: 65
- Name: <SystemType>k__BackingField
Entry: 9
Data: 64
Data: 65
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1043,13 +1049,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 68|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 69|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 69|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 70|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@ -1073,13 +1079,13 @@ MonoBehaviour:
Data: _LootMaterial
- Name: $v
Entry: 7
Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 71|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LootMaterial
- Name: <UserType>k__BackingField
Entry: 7
Data: 71|System.RuntimeType, mscorlib
Data: 72|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Material, UnityEngine.CoreModule
@ -1088,7 +1094,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 71
Data: 72
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1103,13 +1109,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 72|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 73|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 73|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 74|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -1133,13 +1139,13 @@ MonoBehaviour:
Data: _LocationSheetMaterialSelections
- Name: $v
Entry: 7
Data: 74|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LocationSheetMaterialSelections
- Name: <UserType>k__BackingField
Entry: 7
Data: 75|System.RuntimeType, mscorlib
Data: 76|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Material[], UnityEngine.CoreModule
@ -1148,7 +1154,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 75
Data: 76
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1163,13 +1169,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 77|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 77|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 78|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@ -1193,13 +1199,13 @@ MonoBehaviour:
Data: _Animator
- Name: $v
Entry: 7
Data: 78|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Animator
- Name: <UserType>k__BackingField
Entry: 7
Data: 79|System.RuntimeType, mscorlib
Data: 80|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Animator, UnityEngine.AnimationModule
@ -1208,7 +1214,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 79
Data: 80
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1223,7 +1229,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 80|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 81|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@ -1247,13 +1253,13 @@ MonoBehaviour:
Data: _LootImageDownloader
- Name: $v
Entry: 7
Data: 81|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 82|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LootImageDownloader
- Name: <UserType>k__BackingField
Entry: 7
Data: 82|System.RuntimeType, mscorlib
Data: 83|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDK3.Image.VRCImageDownloader, VRCSDK3
@ -1262,7 +1268,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 82
Data: 83
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1277,7 +1283,55 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 83|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 84|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- 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: _ActiveSpinners
- Name: $v
Entry: 7
Data: 85|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ActiveSpinners
- Name: <UserType>k__BackingField
Entry: 9
Data: 33
- Name: <SystemType>k__BackingField
Entry: 9
Data: 33
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 86|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0

View File

@ -30,7 +30,8 @@ public class LocationBoard : UdonSharpBehaviour
[UdonSynced, FieldChangeCallback(nameof(Landmarks))] private string[] _Landmarks;
[UdonSynced, FieldChangeCallback(nameof(RandomMaterialSettings))] private int[] _RandomMaterialSettings;
[UdonSynced] private int _ActiveSpinners = 0;
[UdonSynced, FieldChangeCallback(nameof(RevealedPanel))] private int _RevealedPanel = 0;
[UdonSynced] private bool[] _OrderIsCorrect = new bool[3];
[UdonSynced] private bool[] _HasBeenCheckedBefore;
@ -40,6 +41,8 @@ public class LocationBoard : UdonSharpBehaviour
private Animator _Animator;
private VRCImageDownloader _LootImageDownloader;
private int _ActiveSpinners = 0;
void Start()
{
@ -87,32 +90,41 @@ public class LocationBoard : UdonSharpBehaviour
}
[NetworkCallable]
public void RevealPanel(int Panel)
{
RevealedPanel = Panel;
RequestSerialization();
}
private void _RevealPanel_Private()
{
Debug.Log("[LocationBoard] Revealing panel " + RevealedPanel);
if (_ActiveSpinners < 3)
{
_Animator.SetBool("Flip " + Panel, true);
Debug.Log("[LocationBoard] Active spinners is currently less than three");
_Animator.SetBool("Flip " + RevealedPanel, true);
switch (_ActiveSpinners)
{
case 0:
{
_OrderIsCorrect[0] = (Panel == LootLocation);
_OrderIsCorrect[0] = (RevealedPanel == LootLocation);
if (_OrderIsCorrect[0])
{
_GameManager.OnTheRightTrack();
}
else if (Panel == WarrantLocation)
else if (RevealedPanel == WarrantLocation)
{
_GameManager.OutOfOrder(PanelType.Warrant);
}
else if (Panel == CrookLocation)
else if (RevealedPanel == CrookLocation)
{
_GameManager.OutOfOrder(PanelType.Crook);
}
else if (_HasBeenCheckedBefore[Panel - 1])
else if (_HasBeenCheckedBefore[RevealedPanel - 1])
{
_GameManager.AlreadyTried();
SendCustomEventDelayedSeconds(nameof(InitiateBoardReset), 1.0f);
@ -125,7 +137,7 @@ public class LocationBoard : UdonSharpBehaviour
} break;
case 1:
{
_OrderIsCorrect[1] = (Panel == WarrantLocation);
_OrderIsCorrect[1] = (RevealedPanel == WarrantLocation);
if (_OrderIsCorrect[1])
{
@ -138,15 +150,15 @@ public class LocationBoard : UdonSharpBehaviour
_GameManager.AlmostThere();
}
}
else if (Panel == LootLocation)
else if (RevealedPanel == LootLocation)
{
_GameManager.OutOfOrder(PanelType.Loot);
}
else if (Panel == CrookLocation)
else if (RevealedPanel == CrookLocation)
{
_GameManager.OutOfOrder(PanelType.Crook);
}
else if (_HasBeenCheckedBefore[Panel - 1])
else if (_HasBeenCheckedBefore[RevealedPanel - 1])
{
if (!_OrderIsCorrect[0])
{
@ -166,7 +178,7 @@ public class LocationBoard : UdonSharpBehaviour
} break;
case 2:
{
_OrderIsCorrect[2] = (Panel == CrookLocation);
_OrderIsCorrect[2] = (RevealedPanel == CrookLocation);
if (_OrderIsCorrect[2])
{
@ -176,17 +188,17 @@ public class LocationBoard : UdonSharpBehaviour
SendCustomEventDelayedSeconds(nameof(InitiateBoardReset), 2.5f);
}
}
else if (Panel == LootLocation)
else if (RevealedPanel == LootLocation)
{
_GameManager.OutOfOrder(PanelType.Loot);
SendCustomEventDelayedSeconds(nameof(InitiateBoardReset), 2.5f);
}
else if (Panel == WarrantLocation)
else if (RevealedPanel == WarrantLocation)
{
_GameManager.OutOfOrder(PanelType.Warrant);
SendCustomEventDelayedSeconds(nameof(InitiateBoardReset), 2.5f);
}
else if (_HasBeenCheckedBefore[Panel - 1])
else if (_HasBeenCheckedBefore[RevealedPanel - 1])
{
if (!_OrderIsCorrect[0] || !_OrderIsCorrect[1])
{
@ -208,20 +220,17 @@ public class LocationBoard : UdonSharpBehaviour
_ActiveSpinners++;
if (Panel == LootLocation || Panel == WarrantLocation || Panel == CrookLocation)
if (RevealedPanel == LootLocation)
{
if (Panel == LootLocation)
{
_GameManager.SendCustomEventDelayedSeconds("PlayTheLoot", 0.35f);
}
else if (Panel == WarrantLocation)
{
_GameManager.SendCustomEventDelayedSeconds("PlayTheWarrant", 0.35f);
}
else if (Panel == CrookLocation)
{
_GameManager.SendCustomEventDelayedSeconds("PlayTheCrookTheme", 0.35f);
}
_GameManager.SendCustomEventDelayedSeconds("PlayTheLoot", 0.35f);
}
else if (RevealedPanel == WarrantLocation)
{
_GameManager.SendCustomEventDelayedSeconds("PlayTheWarrant", 0.35f);
}
else if (RevealedPanel == CrookLocation)
{
_GameManager.SendCustomEventDelayedSeconds("PlayTheCrookTheme", 0.35f);
}
if (_OrderIsCorrect[0] && _OrderIsCorrect[1] && _OrderIsCorrect[2])
@ -230,14 +239,18 @@ public class LocationBoard : UdonSharpBehaviour
}
}
_HasBeenCheckedBefore[Panel - 1] = true;
_HasBeenCheckedBefore[RevealedPanel - 1] = true;
}
public void InitiateBoardReset() { _GameManager.LocationBoardReset(true); }
[NetworkCallable]
public void ResetPanelBoard()
{
RevealedPanel = 0;
RequestSerialization();
}
private void _ResetPanelBoard_Private()
{
for (int i = 1; i <= 15; i++)
{
@ -425,4 +438,22 @@ public class LocationBoard : UdonSharpBehaviour
}
get => _RandomMaterialSettings;
}
private int RevealedPanel
{
set
{
_RevealedPanel = value;
if (_RevealedPanel > 0)
{
_RevealPanel_Private();
}
else
{
_ResetPanelBoard_Private();
}
}
get => _RevealedPanel;
}
}

View File

@ -0,0 +1,239 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: NewspaperDisplay
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 27108b45ff056ac4886d4058d930fde8,
type: 2}
udonAssembly:
assemblyError:
sourceCsScript: {fileID: 11500000, guid: 1fda5f76412adf045afddecf3961f77a, type: 3}
scriptVersion: 2
compiledVersion: 2
behaviourSyncMode: 4
hasInteractEvent: 0
scriptID: -3194692906084292034
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: fieldDefinitions
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[UdonSharp.Compiler.FieldDefinition,
UdonSharp.Editor]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
mscorlib]], mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _Camera
- Name: $v
Entry: 7
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Camera
- Name: <UserType>k__BackingField
Entry: 7
Data: 3|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.GameObject, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
- 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: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 5|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: _Screens
- Name: $v
Entry: 7
Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Screens
- Name: <UserType>k__BackingField
Entry: 7
Data: 7|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.GameObject[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 7
- 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: 8|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 9|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: _Active
- Name: $v
Entry: 7
Data: 10|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Active
- Name: <UserType>k__BackingField
Entry: 7
Data: 11|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 11
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 12|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 13|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 14|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 59d48fd4fec18b74f842ca47091613e3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,38 @@

using UdonSharp;
using UnityEngine;
using UnityEngine.Device;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class NewspaperDisplay : UdonSharpBehaviour
{
[SerializeField] private GameObject _Camera;
[SerializeField] private GameObject[] _Screens;
[UdonSynced, FieldChangeCallback(nameof(Active))] private bool _Active;
public void Activate(bool Activate)
{
Active = Activate;
RequestSerialization();
}
private bool Active
{
set
{
_Active = value;
_Camera.SetActive(_Active);
foreach (GameObject Screen in _Screens)
{
Screen.SetActive(_Active);
}
}
get => _Active;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1fda5f76412adf045afddecf3961f77a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -261,10 +261,7 @@ public class PlayerPodium : UdonSharpBehaviour
public void StartBuzzedInEffect()
{
FlashScoreboard = true;
}
private void BeginBuzzedInEffect()
{
TickFlashingScoreboard();
RequestSerialization();
}
public void TickFlashingScoreboard()
{
@ -287,6 +284,7 @@ public class PlayerPodium : UdonSharpBehaviour
else {
ResetScoreboardColours();
_FlashingScoreboardCounter = 0;
FlashScoreboard = false;
}
}
private void InvertScoreboardColours()
@ -365,13 +363,12 @@ public class PlayerPodium : UdonSharpBehaviour
_FlashScoreboard = value;
if (_FlashScoreboard)
{
BeginBuzzedInEffect();
TickFlashingScoreboard();
}
else
{
_FlashingScoreboardCounter = 0;
}
RequestSerialization();
}
get => _FlashScoreboard;
}

View File

@ -50,25 +50,31 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: VideoPool
Data: _VideoPlayer
- Name: $v
Entry: 7
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoPool
Data: _VideoPlayer
- Name: <UserType>k__BackingField
Entry: 7
Data: 3|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDKBase.VRCUrl[], VRCSDKBase
Data: MultiRoundVideoPlayer, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
Entry: 7
Data: 4|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.Udon.UdonBehaviour, VRC.Udon
- Name:
Entry: 8
Data:
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -83,10 +89,16 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 5|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
Data: 1
- Name:
Entry: 7
Data: 6|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
@ -104,67 +116,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: VideoPoolFallback
- Name: $v
Entry: 7
Data: 5|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoPoolFallback
- Name: <UserType>k__BackingField
Entry: 9
Data: 3
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
- 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: 6|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- 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: _VideoPlayer
Data: _VideoIndex
- Name: $v
Entry: 7
Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _VideoPlayer
Data: _VideoIndex
- Name: <UserType>k__BackingField
Entry: 7
Data: 8|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDK3.Video.Components.Base.BaseVRCVideoPlayer, VRCSDK3
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
@ -175,8 +139,8 @@ MonoBehaviour:
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
@ -186,6 +150,138 @@ MonoBehaviour:
- Name: _fieldAttributes
Entry: 7
Data: 9|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 10|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 11|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: _VideoIsPlaying
- Name: $v
Entry: 7
Data: 12|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _VideoIsPlaying
- Name: <UserType>k__BackingField
Entry: 7
Data: 13|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 13
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 14|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 15|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 16|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: VideoPool
- Name: $v
Entry: 7
Data: 17|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoPool
- Name: <UserType>k__BackingField
Entry: 7
Data: 18|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDKBase.VRCUrl[], VRCSDKBase
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 18
- 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: 19|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@ -206,121 +302,37 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _VideoIndex
Data: VideoPoolFallback
- Name: $v
Entry: 7
Data: 10|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _VideoIndex
Data: VideoPoolFallback
- Name: <UserType>k__BackingField
Entry: 7
Data: 11|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
Entry: 9
Data: 18
- Name: <SystemType>k__BackingField
Entry: 9
Data: 11
Data: 18
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 12|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 21|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 13|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 14|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- 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: _VideoIsPlaying
- Name: $v
Entry: 7
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _VideoIsPlaying
- Name: <UserType>k__BackingField
Entry: 7
Data: 16|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 16
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 18|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 19|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
Data: 0
- Name:
Entry: 13
Data:

View File

@ -9,19 +9,14 @@ using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class RandomVideoPlayer : UdonSharpBehaviour
{
public VRCUrl[] VideoPool;
public VRCUrl[] VideoPoolFallback;
private BaseVRCVideoPlayer _VideoPlayer;
[SerializeField] private MultiRoundVideoPlayer _VideoPlayer;
[UdonSynced, FieldChangeCallback(nameof(VideoIndex))] private int _VideoIndex = -1;
[UdonSynced, FieldChangeCallback(nameof(PlayVideo))] private bool _VideoIsPlaying;
public VRCUrl[] VideoPool;
public VRCUrl[] VideoPoolFallback;
void Start()
{
_VideoPlayer = GetComponent<BaseVRCVideoPlayer>();
}
public void LoadRandomVideo()
{
@ -47,11 +42,10 @@ public class RandomVideoPlayer : UdonSharpBehaviour
_VideoPlayer.Stop();
}
public override void OnVideoEnd()
public void VideoEnded()
{
transform.position = new Vector3(transform.position.x, -1000.0f, transform.position.z);
PlayVideo = false;
base.OnVideoEnd();
}

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 7
Data: 8
- Name:
Entry: 7
Data:
@ -441,6 +441,54 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _PlayingColour
- Name: $v
Entry: 7
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PlayingColour
- Name: <UserType>k__BackingField
Entry: 9
Data: 18
- Name: <SystemType>k__BackingField
Entry: 9
Data: 18
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 27|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:

View File

@ -11,7 +11,8 @@ public enum IndicationStatus
Idle,
Loading,
LoadSuccess,
LoadFailure
LoadFailure,
Playing
}
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
@ -26,6 +27,7 @@ public class VideoLoadIndicator : UdonSharpBehaviour
private readonly Color _LoadingColour = new Color(0.784313725f, 0.784313725f, 0.0f);
private readonly Color _LoadSuccessColour = new Color(0.0f, 0.784313725f, 0.0f);
private readonly Color _LoadFailureColour = new Color(0.784313725f, 0.0f, 0.0f);
private readonly Color _PlayingColour = new Color(0.0f, 0.784313725f, 0.784313725f);
void Start()
@ -53,6 +55,7 @@ public class VideoLoadIndicator : UdonSharpBehaviour
case IndicationStatus.Loading: _IndicatorMesh.material.SetColor("_Color", _LoadingColour); break;
case IndicationStatus.LoadSuccess: _IndicatorMesh.material.SetColor("_Color", _LoadSuccessColour); break;
case IndicationStatus.LoadFailure: _IndicatorMesh.material.SetColor("_Color", _LoadFailureColour); break;
case IndicationStatus.Playing: _IndicatorMesh.material.SetColor("_Color", _PlayingColour); break;
}
RequestSerialization();
}

View File

@ -21,7 +21,7 @@ public enum ClueScreenType
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CaseVideoSyncPlayer : UdonSharpBehaviour
{
[SerializeField] private BaseVRCVideoPlayer _VideoPlayer;
[SerializeField] private MultiRoundVideoPlayer _VideoPlayer;
[Header("Meshes")]
[SerializeField] private MeshRenderer _BlankScreenMesh;
@ -59,10 +59,8 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
private int _MapDownloadIndex = 0;
private bool _MapDownloadsInProgress = false;
private int _VideoLoadAttemptCounter = 0;
private bool _UseFallback = false;
private bool _FirstDeserialisationComplete = false;
//private int _VideoLoadAttemptCounter = 0;
//private bool _UseFallback = false;
private const int IMAGES_PER_MAP_ATLAS = 6;
private const int MAX_VIDEO_LOAD_ATTEMPTS = 5;
@ -83,6 +81,12 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
_MapDownloader.Dispose();
}
public override void OnOwnershipTransferred(VRCPlayerApi Player)
{
Networking.SetOwner(Player, _VideoPlayer.gameObject);
base.OnOwnershipTransferred(Player);
}
public override void OnDeserialization(DeserializationResult Result)
{
{ // Map syncing and redownloading
@ -121,7 +125,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
base.OnDeserialization(Result);
}
public void InitialiseLists(VRCUrl[] Maps, VRCUrl[] Videos)
public void LoadLists(VRCUrl[] Maps, VRCUrl[] Videos)
{
_CaseMapsList = Maps;
_ReloadMapList();
@ -296,9 +300,9 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
private void _LoadNewVideoIndex()
{
_OldVideoIndex = _VideoIndex;
_VideoLoadAttemptCounter = 0;
//_VideoLoadAttemptCounter = 0;
_UseFallback = false;
//_UseFallback = false;
_LoadVideo_Private();
}
@ -318,32 +322,33 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
private void _PlayVideo_Private()
{
_VideoPlayer.Play();
SetVideoLoadStatus(IndicationStatus.Playing);
}
private void _StopVideo_Private()
{
_VideoPlayer.Stop();
_UseFallback = false;
//_UseFallback = false;
_VideoIndex = -1;
SetVideoLoadStatus(IndicationStatus.Idle);
}
public override void OnVideoReady()
public void VideoIsReady()
{
if (_VideoIsPlaying)
{
_PlayVideo_Private();
}
SetVideoLoadStatus(IndicationStatus.LoadSuccess);
base.OnVideoReady();
else
{
SetVideoLoadStatus(IndicationStatus.LoadSuccess);
}
}
public override void OnVideoError(VideoError VideoError)
public void VideoError()
{
switch(VideoError)
/*switch(VideoError)
{
case VideoError.Unknown:
Debug.LogError("[CaseVideoSyncPlayer] Unknown playback error.");
@ -371,17 +376,15 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
//{
// Debug.Log("[CaseVideoSyncPlayer] Attempting fallback in 5 seconds...");
// SendCustomEventDelayedSeconds(nameof(TryLoadFallbackURL), 5.5f);
//}
//}*/
SetVideoLoadStatus(IndicationStatus.LoadFailure);
base.OnVideoError(VideoError);
}
public void TryLoadFallbackURL()
{
_UseFallback = true;
TryLoadURL();
}
//public void TryLoadFallbackURL()
//{
// _UseFallback = true;
// TryLoadURL();
//}
private void SetPlaybackStatus(bool Value)
{
@ -394,7 +397,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
}
}
public override void OnVideoStart()
public void VideoStarted()
{
if (_VideoIsPlaying)
{
@ -404,20 +407,16 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
{
_VideoPlayer.Stop();
}
base.OnVideoStart();
}
public override void OnVideoEnd()
public void VideoEnded()
{
_SwapToScreen(ClueScreenType.Blank, false);
base.OnVideoEnd();
}
public float GetVideoDuration()
{
if (_VideoPlayer.IsReady || _VideoPlayer.IsPlaying)
if (_VideoPlayer.IsReady() || _VideoPlayer.IsPlaying())
{
return _VideoPlayer.GetDuration();
}
@ -426,7 +425,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour
public float GetVideoTime()
{
if (_VideoPlayer.IsPlaying)
if (_VideoPlayer.IsPlaying())
{
return _VideoPlayer.GetTime();
}

View File

@ -0,0 +1,251 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: MultiRoundVideoPlayer
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: ce28b2301c190c64a91b539833da012a,
type: 2}
udonAssembly:
assemblyError:
sourceCsScript: {fileID: 11500000, guid: c4110298af614c34fa508b9180055317, type: 3}
scriptVersion: 2
compiledVersion: 2
behaviourSyncMode: 4
hasInteractEvent: 0
scriptID: -8588864902355323910
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: fieldDefinitions
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[UdonSharp.Compiler.FieldDefinition,
UdonSharp.Editor]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
mscorlib]], mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _VideoPlayer
- Name: $v
Entry: 7
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _VideoPlayer
- Name: <UserType>k__BackingField
Entry: 7
Data: 3|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDK3.Video.Components.Base.BaseVRCVideoPlayer, VRCSDK3
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
- 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: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 5|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: _RoundCallbacks
- Name: $v
Entry: 7
Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _RoundCallbacks
- Name: <UserType>k__BackingField
Entry: 7
Data: 7|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UdonSharp.UdonSharpBehaviour[], UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 8|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Component[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- 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: 9|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 10|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: _CurrentRound
- Name: $v
Entry: 7
Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CurrentRound
- Name: <UserType>k__BackingField
Entry: 7
Data: 12|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VideoPlayerRound, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 13|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 14|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 15|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 16|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 94d9f43101845e244b13e23bea9e10a8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,147 @@

using UdonSharp;
using UnityEngine;
using VRC.SDK3.Components.Video;
using VRC.SDK3.Video.Components.Base;
using VRC.SDKBase;
public enum VideoPlayerRound
{
INVALID_ROUND,
Round1,
Round2,
Round3,
MAX_ROUNDS
}
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class MultiRoundVideoPlayer : UdonSharpBehaviour
{
[SerializeField] private BaseVRCVideoPlayer _VideoPlayer;
[SerializeField] private UdonSharpBehaviour[] _RoundCallbacks;
[UdonSynced, FieldChangeCallback(nameof(CurrentRound))] private VideoPlayerRound _CurrentRound = VideoPlayerRound.INVALID_ROUND;
public void SetCurrentRound(VideoPlayerRound Round)
{
if (Round > VideoPlayerRound.INVALID_ROUND && Round < VideoPlayerRound.MAX_ROUNDS)
{
_CurrentRound = Round;
Stop();
}
RequestSerialization();
}
public void LoadURL(VRCUrl URL)
{
_VideoPlayer.LoadURL(URL);
}
public void Play()
{
_VideoPlayer.Play();
}
public void Stop()
{
_VideoPlayer.Stop();
}
public bool IsReady()
{
return _VideoPlayer.IsReady;
}
public bool IsPlaying()
{
return _VideoPlayer.IsPlaying;
}
public float GetDuration()
{
return _VideoPlayer.GetDuration();
}
public float GetTime()
{
return _VideoPlayer.GetTime();
}
public override void OnVideoReady()
{
_ExecuteCurrentRoundCallback_Private("VideoIsReady");
base.OnVideoReady();
}
public override void OnVideoStart()
{
_ExecuteCurrentRoundCallback_Private("VideoStarted");
base.OnVideoStart();
}
public override void OnVideoEnd()
{
_ExecuteCurrentRoundCallback_Private("VideoEnded");
base.OnVideoEnd();
}
public override void OnVideoError(VideoError VideoError)
{
switch (VideoError)
{
case VideoError.Unknown:
Debug.LogError("[MultiRoundVideoPlayer] Unknown playback error.");
break;
case VideoError.InvalidURL:
Debug.LogError("[MultiRoundVideoPlayer] Invalid URL.");
break;
case VideoError.AccessDenied:
Debug.LogError("[MultiRoundVideoPlayer] Access denied.");
break;
case VideoError.PlayerError:
Debug.LogError("[MultiRoundVideoPlayer] Error with video player.");
break;
case VideoError.RateLimited:
Debug.LogError("[MultiRoundVideoPlayer] Rate limited. Attempting another reload in 2 seconds...");
SendCustomEventDelayedSeconds(nameof(LoadURL), 2.1f);
return;
}
Stop();
_ExecuteCurrentRoundCallback_Private("VideoError");
base.OnVideoError(VideoError);
}
private void _ExecuteCurrentRoundCallback_Private(string Event)
{
if (_CurrentRound > VideoPlayerRound.INVALID_ROUND && _CurrentRound < VideoPlayerRound.MAX_ROUNDS)
{
_RoundCallbacks[(int)_CurrentRound - 1].SendCustomEvent(Event);
}
}
public VideoPlayerRound CurrentRound
{
set
{
_CurrentRound = value;
Stop();
}
get => _CurrentRound;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c4110298af614c34fa508b9180055317
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1 +1 @@
Subproject commit 4ce63f5165b1d786d5f920e6c1a312e290cf7e28
Subproject commit b16d2d952732afe62a0bfae4277b2c43502c18d0

View File

@ -17,6 +17,7 @@
- Отдел исследований мозга by Wetscherinin -- https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9E%D1%82%D0%B4%D0%B5%D0%BB_%D0%B8%D1%81%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9_%D0%BC%D0%BE%D0%B7%D0%B3%D0%B0.jpg -- License: Creative Commons Attribution 4.0 International
- Trojan Horse - Terra Mitica Benidorm -- elgringospain -- https://www.flickr.com/photos/youngun/7623601276 -- License: Creative Commons Attribution-No Derivatives 2.0
- 02112 Silver Serving Tray, Shooting Award 1950 -- L.G.Hicks Memorial Collection -- https://www.flickr.com/photos/qormuseum/39735887392/ -- License: Creative Commons Attribution-Non Commercial 2.0
- A soviet hourglass by Valger -- https://skfb.ly/oO6HU -- License: Creative Commons Attribution 4.0
-------------------------------------------------------------------------------

Some files were not shown because too many files have changed in this diff Show More