diff --git a/Assets/Scenes/witwics.unity b/Assets/Scenes/witwics.unity index d308af9..fc1b0c4 100644 --- a/Assets/Scenes/witwics.unity +++ b/Assets/Scenes/witwics.unity @@ -1062,6 +1062,9 @@ MonoBehaviour: - SwitchToPlayer1Camera - SwitchToPlayer2Camera _TimeBetweenCuts: 2 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 0} + _FirstLoopCallbackFunction: --- !u!1 &37402018 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1162471344109280769, guid: 40955da061a841841a91c845049f1e11, @@ -11719,21 +11722,11 @@ PrefabInstance: propertyPath: m_Name value: SpawnMarker (1) objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, - type: 3} - propertyPath: m_Layer - value: 0 - objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, type: 3} propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -30268,6 +30261,9 @@ MonoBehaviour: - SwitchToPlayer2Camera - SwitchToPlayer3Camera _TimeBetweenCuts: 2.5 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 0} + _FirstLoopCallbackFunction: --- !u!1 &458823600 stripped GameObject: m_CorrespondingSourceObject: {fileID: 3860776843712865553, guid: be33bc7f6c414e6409becfa348b9310d, @@ -32184,6 +32180,97 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 1499591484} m_PrefabAsset: {fileID: 0} +--- !u!1 &529984885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 529984886} + - component: {fileID: 529984888} + - component: {fileID: 529984887} + m_Layer: 0 + m_Name: Location Board And Short Host Switcher + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &529984886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529984885} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.64, y: 0, z: 0.41} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1451322102} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &529984887 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529984885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45115577ef41a5b4ca741ed302693907, type: 3} + m_Name: + m_EditorClassIdentifier: + interactTextPlacement: {fileID: 0} + interactText: Use + interactTextGO: {fileID: 0} + proximity: 2 + SynchronizePosition: 0 + AllowCollisionOwnershipTransfer: 0 + Reliable: 0 + _syncMethod: 3 + serializedProgramAsset: {fileID: 11400000, guid: b84f3dc1edf53b846a172badddd49737, + type: 2} + programSource: {fileID: 11400000, guid: 1fc8e4389a71e5640b656e2c7fbabeed, type: 2} + serializedPublicVariablesBytesString: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgEAAAAAAAAAAi8CAAAAAUkAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgBdAF0ALAAgAFYAUgBDAC4AVQBkAG8AbgAuAEMAbwBtAG0AbwBuAAIAAAAGAgAAAAAAAAAnAQQAAAB0AHkAcABlAAEXAAAAUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwAsACAAbQBzAGMAbwByAGwAaQBiACcBCgAAAFMAeQBtAGIAbwBsAE4AYQBtAGUAAR8AAABfAF8AXwBVAGQAbwBuAFMAaABhAHIAcABCAGUAaABhAHYAaQBvAHUAcgBWAGUAcgBzAGkAbwBuAF8AXwBfACcBBAAAAHQAeQBwAGUAARYAAABTAHkAcwB0AGUAbQAuAEkAbgB0ADMAMgAsACAAbQBzAGMAbwByAGwAaQBiABcBBQAAAFYAYQBsAHUAZQACAAAABwUHBQcF + publicVariablesUnityEngineObjects: [] + publicVariablesSerializationDataFormat: 0 +--- !u!114 &529984888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529984885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7c74cc2036e37f74b874180a8ad0235f, type: 3} + m_Name: + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + _udonSharpBackingUdonBehaviour: {fileID: 529984887} + _CameraController: {fileID: 1355919010} + _SwitchFunctions: + - SwitchToLocationBoardCamera + - SwitchToHostAndWinnerCamera + - SwitchToHostAndWinnerCamera + - SwitchToHostAndWinnerCamera + _TimeBetweenCuts: 1.5 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 865296978} + _FirstLoopCallbackFunction: SwitchToCurrentPlayerAndLocationBoardSwitcher --- !u!1 &530310355 GameObject: m_ObjectHideFlags: 0 @@ -32775,6 +32862,9 @@ MonoBehaviour: - SwitchToHostCamera - SwitchToAllPlayersCamera _TimeBetweenCuts: 2.5 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 0} + _FirstLoopCallbackFunction: --- !u!1 &554199908 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2883740951159844552, guid: be33bc7f6c414e6409becfa348b9310d, @@ -40294,7 +40384,7 @@ GameObject: - component: {fileID: 741456682} - component: {fileID: 741456681} m_Layer: 0 - m_Name: Player 2 And Wide Shot Switcher (1) + m_Name: Player 2 And Location Board Switcher m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -40366,8 +40456,11 @@ MonoBehaviour: _CameraController: {fileID: 1355919010} _SwitchFunctions: - SwitchToPlayer2Camera - - SwitchToWideShotCamera + - SwitchToLocationBoardCamera _TimeBetweenCuts: 3 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 0} + _FirstLoopCallbackFunction: --- !u!1 &741728900 stripped GameObject: m_CorrespondingSourceObject: {fileID: 6713020845915447554, guid: fac4aa7abd3ecbe44a9eaf7f05275244, @@ -43307,16 +43400,6 @@ PrefabInstance: propertyPath: m_Name value: SpawnMarker (1) objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, - type: 3} - propertyPath: m_Layer - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -58251,6 +58334,9 @@ MonoBehaviour: - SwitchToAllPlayersCamera - SwitchToWideShotCamera _TimeBetweenCuts: 2.5 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 0} + _FirstLoopCallbackFunction: --- !u!1 &1193701799 GameObject: m_ObjectHideFlags: 0 @@ -58687,21 +58773,11 @@ PrefabInstance: propertyPath: m_Name value: SpawnMarker (1) objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, - type: 3} - propertyPath: m_Layer - value: 0 - objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, type: 3} propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 8a0236a6fb2773f46b033e383a3f4f55, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -63486,8 +63562,10 @@ MonoBehaviour: HostAndAllPlayersCameraTrigger: {fileID: 1311764233} HostAllPlayersTimerToggle: {fileID: 35514607} HostPlayersAndWideShotTimerToggle: {fileID: 1193018063} - Player1AndWideShotTimerToggle: {fileID: 1377550932} - Player2AndWideShotTimerToggle: {fileID: 741456682} + Player1AndLocationBoardTimerToggle: {fileID: 1377550932} + Player2AndLocationBoardTimerToggle: {fileID: 741456682} + LocationBoardAndShortHostTimerToggle: {fileID: 529984888} + LocationBoardAndLongHostTimerToggle: {fileID: 1875043588} Player1CameraAnchor: {fileID: 783795840} Player2CameraAnchor: {fileID: 739684421} HostAndWinnerCameraAnchor: {fileID: 1117826905} @@ -63942,7 +64020,7 @@ GameObject: - component: {fileID: 1377550932} - component: {fileID: 1377550931} m_Layer: 0 - m_Name: Player 1 And Wide Shot Switcher + m_Name: Player 1 And Location Board Switcher m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -64014,8 +64092,11 @@ MonoBehaviour: _CameraController: {fileID: 1355919010} _SwitchFunctions: - SwitchToPlayer1Camera - - SwitchToWideShotCamera + - SwitchToLocationBoardCamera _TimeBetweenCuts: 3 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 0} + _FirstLoopCallbackFunction: --- !u!1 &1378992343 stripped GameObject: m_CorrespondingSourceObject: {fileID: 5677162063728742216, guid: c3b6993d13023194d904d6353e18944f, @@ -66068,6 +66149,8 @@ Transform: - {fileID: 1193018061} - {fileID: 1377550930} - {fileID: 741456680} + - {fileID: 529984886} + - {fileID: 1875043586} - {fileID: 115578769} - {fileID: 1583513123} - {fileID: 1449300098} @@ -66273,6 +66356,9 @@ MonoBehaviour: - SwitchToHostCamera - SwitchToPlayerCamera _TimeBetweenCuts: 5 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 0} + _FirstLoopCallbackFunction: --- !u!1 &1461972938 stripped GameObject: m_CorrespondingSourceObject: {fileID: 973995804437909872, guid: e9914385266bca24db809c39e395f03c, @@ -87886,6 +87972,98 @@ Transform: - {fileID: 247036823} m_Father: {fileID: 938262255} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1875043585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1875043586} + - component: {fileID: 1875043588} + - component: {fileID: 1875043587} + m_Layer: 0 + m_Name: Location Board And Long Host Switcher + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1875043586 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1875043585} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.64, y: 0, z: 0.41} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1451322102} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1875043587 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1875043585} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45115577ef41a5b4ca741ed302693907, type: 3} + m_Name: + m_EditorClassIdentifier: + interactTextPlacement: {fileID: 0} + interactText: Use + interactTextGO: {fileID: 0} + proximity: 2 + SynchronizePosition: 0 + AllowCollisionOwnershipTransfer: 0 + Reliable: 0 + _syncMethod: 3 + serializedProgramAsset: {fileID: 11400000, guid: b84f3dc1edf53b846a172badddd49737, + type: 2} + programSource: {fileID: 11400000, guid: 1fc8e4389a71e5640b656e2c7fbabeed, type: 2} + serializedPublicVariablesBytesString: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgEAAAAAAAAAAi8CAAAAAUkAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgBdAF0ALAAgAFYAUgBDAC4AVQBkAG8AbgAuAEMAbwBtAG0AbwBuAAIAAAAGAgAAAAAAAAAnAQQAAAB0AHkAcABlAAEXAAAAUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwAsACAAbQBzAGMAbwByAGwAaQBiACcBCgAAAFMAeQBtAGIAbwBsAE4AYQBtAGUAAR8AAABfAF8AXwBVAGQAbwBuAFMAaABhAHIAcABCAGUAaABhAHYAaQBvAHUAcgBWAGUAcgBzAGkAbwBuAF8AXwBfACcBBAAAAHQAeQBwAGUAARYAAABTAHkAcwB0AGUAbQAuAEkAbgB0ADMAMgAsACAAbQBzAGMAbwByAGwAaQBiABcBBQAAAFYAYQBsAHUAZQACAAAABwUHBQcF + publicVariablesUnityEngineObjects: [] + publicVariablesSerializationDataFormat: 0 +--- !u!114 &1875043588 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1875043585} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7c74cc2036e37f74b874180a8ad0235f, type: 3} + m_Name: + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + _udonSharpBackingUdonBehaviour: {fileID: 1875043587} + _CameraController: {fileID: 1355919010} + _SwitchFunctions: + - SwitchToLocationBoardCamera + - SwitchToHostAndWinnerCamera + - SwitchToHostAndWinnerCamera + - SwitchToHostAndWinnerCamera + - SwitchToHostAndWinnerCamera + _TimeBetweenCuts: 1.5 + _LoopPoint: 0 + _FirstLoopCallbackObject: {fileID: 865296978} + _FirstLoopCallbackFunction: SwitchToCurrentPlayerAndLocationBoardSwitcher --- !u!1 &1876563947 stripped GameObject: m_CorrespondingSourceObject: {fileID: 990566370520094600, guid: 899ce13087fd5974f88dcbccaea2df85, @@ -110939,6 +111117,14 @@ MonoBehaviour: ID: 1286 SerializedTypeNames: - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 1875043585} + ID: 1287 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour + - gameObject: {fileID: 529984885} + ID: 1288 + SerializedTypeNames: + - VRC.Udon.UdonBehaviour portraitCameraPositionOffset: {x: 0, y: 0, z: 0} portraitCameraRotationOffset: {x: 0, y: 1, z: 0, w: -0.00000004371139} PlayerPersistence: [] diff --git a/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.asset b/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.asset index dee377a..3dc2cbb 100644 --- a/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.asset +++ b/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 5 + Data: 8 - Name: Entry: 7 Data: @@ -210,12 +210,229 @@ MonoBehaviour: - Name: _fieldAttributes Entry: 7 Data: 13|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 2 + - Name: + Entry: 7 + Data: 14|UnityEngine.SpaceAttribute, UnityEngine.CoreModule + - Name: height + Entry: 4 + Data: 8 + - Name: + Entry: 8 + Data: + - 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: _LoopPoint + - Name: $v + Entry: 7 + Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _LoopPoint + - Name: k__BackingField + Entry: 7 + Data: 17|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32, mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 17 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 18|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 2 + - Name: + Entry: 7 + Data: 19|UnityEngine.SerializeField, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 20|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: 21|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _FirstLoopCallbackObject + - Name: k__BackingField + Entry: 7 + Data: 22|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UdonSharp.UdonSharpBehaviour, UdonSharp.Runtime + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 4 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 23|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 3 + - Name: + Entry: 7 + Data: 24|UnityEngine.SpaceAttribute, UnityEngine.CoreModule + - Name: height + Entry: 4 + Data: 8 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 25|UnityEngine.SerializeField, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 26|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: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _FirstLoopCallbackFunction + - Name: k__BackingField + Entry: 7 + Data: 28|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.String, mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 28 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: 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: 1 - Name: Entry: 7 - Data: 14|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 30|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -239,13 +456,13 @@ MonoBehaviour: Data: _Active - Name: $v Entry: 7 - Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _Active - Name: k__BackingField Entry: 7 - Data: 16|System.RuntimeType, mscorlib + Data: 32|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Boolean, mscorlib @@ -254,7 +471,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 16 + Data: 32 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -269,19 +486,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 18|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 34|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 19|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 35|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -305,22 +522,16 @@ MonoBehaviour: Data: _NextCameraIndex - Name: $v Entry: 7 - Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _NextCameraIndex - Name: k__BackingField - Entry: 7 - Data: 21|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Int32, mscorlib - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 17 - Name: k__BackingField Entry: 9 - Data: 21 + Data: 17 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -335,7 +546,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 37|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 diff --git a/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.cs b/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.cs index f30f28c..5c9a7ab 100644 --- a/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.cs +++ b/Assets/UdonSharp/Cameras/Camera Switchers/CameraTimedSwitcher.cs @@ -10,10 +10,16 @@ using VRC.Udon; [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] public class CameraTimedSwitcher : UdonSharpBehaviour { - [SerializeField] private CameraControllerBase _CameraController; - [SerializeField] private string[] _SwitchFunctions; - - [SerializeField] private float _TimeBetweenCuts = 5.0f; + [SerializeField] private CameraControllerBase _CameraController; + [SerializeField] private string[] _SwitchFunctions; + [Space] + [SerializeField] private float _TimeBetweenCuts = 5.0f; + [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; @@ -26,6 +32,19 @@ public class CameraTimedSwitcher : UdonSharpBehaviour { _CameraController.SendCustomEvent(_SwitchFunctions[_NextCameraIndex]); _NextCameraIndex = (_NextCameraIndex + 1) % _SwitchFunctions.Length; + if (_NextCameraIndex == 0) + { + if (_FirstLoopCallbackObject != null) + { + Activate = false; + _FirstLoopCallbackObject.SendCustomEvent(_FirstLoopCallbackFunction); + return; + } + else + { + _NextCameraIndex = _LoopPoint; + } + } SendCustomEventDelayedSeconds(nameof(SwitchToNextCamera), _TimeBetweenCuts); } diff --git a/Assets/UdonSharp/Cameras/CameraControllerRound2.asset b/Assets/UdonSharp/Cameras/CameraControllerRound2.asset index 92d37f2..bb79011 100644 --- a/Assets/UdonSharp/Cameras/CameraControllerRound2.asset +++ b/Assets/UdonSharp/Cameras/CameraControllerRound2.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 20 + Data: 22 - Name: Entry: 7 Data: @@ -647,13 +647,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: Player1AndWideShotTimerToggle + Data: Player1AndLocationBoardTimerToggle - Name: $v Entry: 7 Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: Player1AndWideShotTimerToggle + Data: Player1AndLocationBoardTimerToggle - Name: k__BackingField Entry: 9 Data: 33 @@ -701,13 +701,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: Player2AndWideShotTimerToggle + Data: Player2AndLocationBoardTimerToggle - Name: $v Entry: 7 Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: Player2AndWideShotTimerToggle + Data: Player2AndLocationBoardTimerToggle - Name: k__BackingField Entry: 9 Data: 33 @@ -755,16 +755,124 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: Player1CameraAnchor + Data: LocationBoardAndShortHostTimerToggle - Name: $v Entry: 7 Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: LocationBoardAndShortHostTimerToggle + - Name: k__BackingField + Entry: 9 + Data: 33 + - Name: k__BackingField + Entry: 9 + Data: 4 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: 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: LocationBoardAndLongHostTimerToggle + - Name: $v + Entry: 7 + Data: 49|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: LocationBoardAndLongHostTimerToggle + - Name: k__BackingField + Entry: 9 + Data: 33 + - Name: k__BackingField + Entry: 9 + Data: 4 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: 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: Player1CameraAnchor + - Name: $v + Entry: 7 + Data: 52|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: Player1CameraAnchor - Name: k__BackingField Entry: 7 - Data: 47|System.RuntimeType, mscorlib + Data: 53|System.RuntimeType, mscorlib - Name: Entry: 1 Data: CameraAnchor, Assembly-CSharp @@ -788,127 +896,19 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 48|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 54|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 49|UnityEngine.SpaceAttribute, UnityEngine.CoreModule + Data: 55|UnityEngine.SpaceAttribute, UnityEngine.CoreModule - Name: height Entry: 4 Data: 8 - Name: Entry: 8 Data: - - Name: - Entry: 7 - Data: 50|UnityEngine.SerializeField, UnityEngine.CoreModule - - Name: - Entry: 8 - Data: - - Name: - Entry: 13 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: - - Name: $k - Entry: 1 - Data: Player2CameraAnchor - - Name: $v - Entry: 7 - Data: 51|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: Player2CameraAnchor - - Name: k__BackingField - Entry: 9 - Data: 47 - - Name: k__BackingField - Entry: 9 - Data: 4 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 6 - Data: - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: true - - Name: _fieldAttributes - Entry: 7 - Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 53|UnityEngine.SerializeField, UnityEngine.CoreModule - - Name: - Entry: 8 - Data: - - Name: - Entry: 13 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: - - Name: $k - Entry: 1 - Data: HostAndWinnerCameraAnchor - - Name: $v - Entry: 7 - Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: HostAndWinnerCameraAnchor - - Name: k__BackingField - Entry: 9 - Data: 47 - - Name: k__BackingField - Entry: 9 - Data: 4 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 6 - Data: - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: true - - Name: _fieldAttributes - Entry: 7 - Data: 55|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - Name: Entry: 7 Data: 56|UnityEngine.SerializeField, UnityEngine.CoreModule @@ -932,16 +932,16 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: LocationBoardCameraAnchor + Data: Player2CameraAnchor - Name: $v Entry: 7 Data: 57|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: LocationBoardCameraAnchor + Data: Player2CameraAnchor - Name: k__BackingField Entry: 9 - Data: 47 + Data: 53 - Name: k__BackingField Entry: 9 Data: 4 @@ -986,16 +986,16 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: ModemCameraAnchor + Data: HostAndWinnerCameraAnchor - Name: $v Entry: 7 Data: 60|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: ModemCameraAnchor + Data: HostAndWinnerCameraAnchor - Name: k__BackingField Entry: 9 - Data: 47 + Data: 53 - Name: k__BackingField Entry: 9 Data: 4 @@ -1040,16 +1040,16 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: VideoPlayerCameraAnchor + Data: LocationBoardCameraAnchor - Name: $v Entry: 7 Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: VideoPlayerCameraAnchor + Data: LocationBoardCameraAnchor - Name: k__BackingField Entry: 9 - Data: 47 + Data: 53 - Name: k__BackingField Entry: 9 Data: 4 @@ -1094,16 +1094,16 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: WideShotCameraAnchor + Data: ModemCameraAnchor - Name: $v Entry: 7 Data: 66|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: WideShotCameraAnchor + Data: ModemCameraAnchor - Name: k__BackingField Entry: 9 - Data: 47 + Data: 53 - Name: k__BackingField Entry: 9 Data: 4 @@ -1122,12 +1122,120 @@ MonoBehaviour: - 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: VideoPlayerCameraAnchor + - Name: $v + Entry: 7 + Data: 69|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: VideoPlayerCameraAnchor + - Name: k__BackingField + Entry: 9 + Data: 53 + - Name: k__BackingField + Entry: 9 + Data: 4 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: 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: WideShotCameraAnchor + - Name: $v + Entry: 7 + Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: WideShotCameraAnchor + - Name: k__BackingField + Entry: 9 + Data: 53 + - Name: k__BackingField + Entry: 9 + Data: 4 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: 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: 2 - Name: Entry: 7 - Data: 68|UnityEngine.SpaceAttribute, UnityEngine.CoreModule + Data: 74|UnityEngine.SpaceAttribute, UnityEngine.CoreModule - Name: height Entry: 4 Data: 8 @@ -1136,7 +1244,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 69|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 75|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1160,13 +1268,13 @@ MonoBehaviour: Data: AllPlayersCameraAnchor - Name: $v Entry: 7 - Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 76|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: AllPlayersCameraAnchor - Name: k__BackingField Entry: 9 - Data: 47 + Data: 53 - Name: k__BackingField Entry: 9 Data: 4 @@ -1184,13 +1292,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 71|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: 72|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 78|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: diff --git a/Assets/UdonSharp/Cameras/CameraControllerRound2.cs b/Assets/UdonSharp/Cameras/CameraControllerRound2.cs index 89fa7c5..7934536 100644 --- a/Assets/UdonSharp/Cameras/CameraControllerRound2.cs +++ b/Assets/UdonSharp/Cameras/CameraControllerRound2.cs @@ -21,8 +21,10 @@ public class CameraControllerRound2 : CameraControllerBase [Space] [SerializeField] public CameraTimedSwitcher HostAllPlayersTimerToggle; [SerializeField] public CameraTimedSwitcher HostPlayersAndWideShotTimerToggle; - [SerializeField] public CameraTimedSwitcher Player1AndWideShotTimerToggle; - [SerializeField] public CameraTimedSwitcher Player2AndWideShotTimerToggle; + [SerializeField] public CameraTimedSwitcher Player1AndLocationBoardTimerToggle; + [SerializeField] public CameraTimedSwitcher Player2AndLocationBoardTimerToggle; + [SerializeField] public CameraTimedSwitcher LocationBoardAndShortHostTimerToggle; + [SerializeField] public CameraTimedSwitcher LocationBoardAndLongHostTimerToggle; [Space] [SerializeField] public CameraAnchor Player1CameraAnchor; [SerializeField] public CameraAnchor Player2CameraAnchor; @@ -57,8 +59,10 @@ public class CameraControllerRound2 : CameraControllerBase Networking.SetOwner(Player, HostAllPlayersTimerToggle.gameObject); Networking.SetOwner(Player, HostPlayersAndWideShotTimerToggle.gameObject); - Networking.SetOwner(Player, Player1AndWideShotTimerToggle.gameObject); - Networking.SetOwner(Player, Player2AndWideShotTimerToggle.gameObject); + Networking.SetOwner(Player, Player1AndLocationBoardTimerToggle.gameObject); + Networking.SetOwner(Player, Player2AndLocationBoardTimerToggle.gameObject); + Networking.SetOwner(Player, LocationBoardAndShortHostTimerToggle.gameObject); + Networking.SetOwner(Player, LocationBoardAndLongHostTimerToggle.gameObject); Networking.SetOwner(Player, Player1CameraAnchor.gameObject); Networking.SetOwner(Player, Player2CameraAnchor.gameObject); @@ -124,32 +128,60 @@ public class CameraControllerRound2 : CameraControllerBase { HostAllPlayersTimerToggle.Activate = true; HostPlayersAndWideShotTimerToggle.Activate = false; - Player1AndWideShotTimerToggle.Activate = false; - Player2AndWideShotTimerToggle.Activate = false; + Player1AndLocationBoardTimerToggle.Activate = false; + Player2AndLocationBoardTimerToggle.Activate = false; + LocationBoardAndShortHostTimerToggle.Activate = false; + LocationBoardAndLongHostTimerToggle.Activate = false; } public void ActivateHostPlayersAndWideShotCameraSwitcher() { HostAllPlayersTimerToggle.Activate = false; HostPlayersAndWideShotTimerToggle.Activate = true; - Player1AndWideShotTimerToggle.Activate = false; - Player2AndWideShotTimerToggle.Activate = false; + Player1AndLocationBoardTimerToggle.Activate = false; + Player2AndLocationBoardTimerToggle.Activate = false; + LocationBoardAndShortHostTimerToggle.Activate = false; + LocationBoardAndLongHostTimerToggle.Activate = false; } - public void ActivatePlayer1AndWideShotCameraSwitcher() + public void ActivatePlayer1AndLocationBoardCameraSwitcher() { HostAllPlayersTimerToggle.Activate = false; HostPlayersAndWideShotTimerToggle.Activate = false; - Player1AndWideShotTimerToggle.Activate = true; - Player2AndWideShotTimerToggle.Activate = false; + Player1AndLocationBoardTimerToggle.Activate = true; + Player2AndLocationBoardTimerToggle.Activate = false; + LocationBoardAndShortHostTimerToggle.Activate = false; + LocationBoardAndLongHostTimerToggle.Activate = false; } - public void ActivatePlayer2AndWideShotCameraSwitcher() + public void ActivatePlayer2AndLocationBoardCameraSwitcher() { HostAllPlayersTimerToggle.Activate = false; HostPlayersAndWideShotTimerToggle.Activate = false; - Player1AndWideShotTimerToggle.Activate = false; - Player2AndWideShotTimerToggle.Activate = true; + Player1AndLocationBoardTimerToggle.Activate = false; + Player2AndLocationBoardTimerToggle.Activate = true; + LocationBoardAndShortHostTimerToggle.Activate = false; + LocationBoardAndLongHostTimerToggle.Activate = false; + } + + public void ActivateLocationBoardAndShortHostCameraSwitcher() + { + HostAllPlayersTimerToggle.Activate = false; + HostPlayersAndWideShotTimerToggle.Activate = false; + Player1AndLocationBoardTimerToggle.Activate = false; + Player2AndLocationBoardTimerToggle.Activate = false; + LocationBoardAndShortHostTimerToggle.Activate = true; + LocationBoardAndLongHostTimerToggle.Activate = false; + } + + public void ActivateLocationBoardAndLongHostCameraSwitcher() + { + HostAllPlayersTimerToggle.Activate = false; + HostPlayersAndWideShotTimerToggle.Activate = false; + Player1AndLocationBoardTimerToggle.Activate = false; + Player2AndLocationBoardTimerToggle.Activate = false; + LocationBoardAndShortHostTimerToggle.Activate = false; + LocationBoardAndLongHostTimerToggle.Activate = true; } @@ -172,7 +204,9 @@ public class CameraControllerRound2 : CameraControllerBase { HostAllPlayersTimerToggle.Activate = false; HostPlayersAndWideShotTimerToggle.Activate = false; - Player1AndWideShotTimerToggle.Activate = false; - Player2AndWideShotTimerToggle.Activate = false; + Player1AndLocationBoardTimerToggle.Activate = false; + Player2AndLocationBoardTimerToggle.Activate = false; + LocationBoardAndShortHostTimerToggle.Activate = false; + LocationBoardAndLongHostTimerToggle.Activate = false; } } diff --git a/Assets/UdonSharp/Game Managers/GameManagerRound2.asset b/Assets/UdonSharp/Game Managers/GameManagerRound2.asset index 35b6bfe..a0625cb 100644 --- a/Assets/UdonSharp/Game Managers/GameManagerRound2.asset +++ b/Assets/UdonSharp/Game Managers/GameManagerRound2.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 24 + Data: 25 - Name: Entry: 7 Data: @@ -1250,25 +1250,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: COLOR_STANDARD + Data: _PanelToReveal_Cache - Name: $v Entry: 7 Data: 81|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: COLOR_STANDARD + Data: _PanelToReveal_Cache - Name: k__BackingField - Entry: 7 - Data: 82|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.Color, UnityEngine.CoreModule - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 69 - Name: k__BackingField Entry: 9 - Data: 82 + Data: 69 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1283,7 +1277,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 83|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 82|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1304,19 +1298,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: COLOR_RED + Data: COLOR_STANDARD - Name: $v Entry: 7 - Data: 84|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: COLOR_RED + Data: COLOR_STANDARD - Name: k__BackingField - Entry: 9 - Data: 82 + Entry: 7 + Data: 84|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Color, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 82 + Data: 84 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1352,19 +1352,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: COLOR_YELLOW + Data: COLOR_RED - Name: $v Entry: 7 Data: 86|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: COLOR_YELLOW + Data: COLOR_RED - Name: k__BackingField Entry: 9 - Data: 82 + Data: 84 - Name: k__BackingField Entry: 9 - Data: 82 + Data: 84 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1400,19 +1400,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: COLOR_GREEN + Data: COLOR_YELLOW - Name: $v Entry: 7 Data: 88|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: COLOR_GREEN + Data: COLOR_YELLOW - Name: k__BackingField Entry: 9 - Data: 82 + Data: 84 - Name: k__BackingField Entry: 9 - Data: 82 + Data: 84 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1443,6 +1443,54 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: COLOR_GREEN + - Name: $v + Entry: 7 + Data: 90|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: COLOR_GREEN + - Name: k__BackingField + Entry: 9 + Data: 84 + - Name: k__BackingField + Entry: 9 + Data: 84 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 91|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: diff --git a/Assets/UdonSharp/Game Managers/GameManagerRound2.cs b/Assets/UdonSharp/Game Managers/GameManagerRound2.cs index b674f58..3332c49 100644 --- a/Assets/UdonSharp/Game Managers/GameManagerRound2.cs +++ b/Assets/UdonSharp/Game Managers/GameManagerRound2.cs @@ -38,6 +38,8 @@ public class GameManagerRound2 : GameManagerBase 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); @@ -206,7 +208,7 @@ public class GameManagerRound2 : GameManagerBase _JailPlayer.VideoIndex = (int)_CaseManager.GetCrook(); - _CameraControllerRound2.ActivatePlayer1AndWideShotCameraSwitcher(); + SwitchToCurrentPlayerAndLocationBoardSwitcher(); NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All, "PlayMusicLoop", MusicEventType.RecoverTheLoot); @@ -217,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() @@ -224,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) @@ -246,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 @@ -294,6 +302,8 @@ public class GameManagerRound2 : GameManagerBase NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All, "StopMusic"); + _CameraControllerRound2.DisableAllSwitchers(); + AdvanceRound(); } @@ -311,17 +321,7 @@ public class GameManagerRound2 : GameManagerBase _JailChain.Show = true; - _CameraControllerRound2.DisableAllSwitchers(); - switch (_CurrentPlayerCounter % 2) - { - case 0: - _CameraControllerRound2.SwitchToPlayer1Camera(); - break; - case 1: - _CameraControllerRound2.SwitchToPlayer2Camera(); - break; - } - + SwitchToCurrentPlayerCamera(); EnableInteraction("Phone Call"); } @@ -375,6 +375,8 @@ public class GameManagerRound2 : GameManagerBase HostCardRecoverTheLootInterface Interface = (HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot); Interface.EnableAllPanelButtons(true); + + SwitchToCurrentPlayerAndLocationBoardSwitcher(); } @@ -429,12 +431,25 @@ public class GameManagerRound2 : GameManagerBase public void Button_RevealPanel(int Panel) { + if (_PanelToReveal_Cache >= 0) + { + return; + } + ((HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot)) .DisablePanelButton(Panel); - _LocationBoard.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] @@ -478,6 +493,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)