- Modem camera transition now has zoom animations.

- Added a CameraAnchor and follower for the winning player in round 2.
- Round 2 now has a more reliable check for when the call ends.
- CameraAnchor can now follow different areas of a player's body.
- CameraTimedSwitcher can now choose to always reactivate when asked.
- Glass shatter effect now only works for hosts.
- CaseVideoSyncPlayer will no longer crash when skipping too fast in round 1.
- Fixed an erroneous camera switcher activation in round 3.
- Made a minor wording change to Eartha Brute's wanted poster.
This commit is contained in:
2026-03-25 04:08:23 -04:00
parent 69bc79ef7a
commit e485d0d992
37 changed files with 2939 additions and 1237 deletions
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 12
Data: 13
- Name:
Entry: 7
Data:
@@ -236,13 +236,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _Loop
Data: _AlwaysReactivate
- Name: $v
Entry: 7
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Loop
Data: _AlwaysReactivate
- Name: <UserType>k__BackingField
Entry: 7
Data: 16|System.RuntimeType, mscorlib
@@ -272,7 +272,7 @@ MonoBehaviour:
Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
Data: 3
- Name:
Entry: 7
Data: 18|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
@@ -288,6 +288,70 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 20|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- Name: tooltip
Entry: 1
Data: When enabled, switcher will reset when activated, even if it wasn't deactivated
first.
- 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: _Loop
- Name: $v
Entry: 7
Data: 21|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Loop
- 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: true
- Name: _fieldAttributes
Entry: 7
Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 23|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
@@ -308,13 +372,13 @@ MonoBehaviour:
Data: _LoopPoint
- Name: $v
Entry: 7
Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LoopPoint
- Name: <UserType>k__BackingField
Entry: 7
Data: 21|System.RuntimeType, mscorlib
Data: 25|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
@@ -323,7 +387,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 21
Data: 25
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -338,19 +402,19 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 23|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 27|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 24|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
Data: 28|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- Name: tooltip
Entry: 1
Data: Loop to this point in the camera sequence. Default is index 0 (the beginning)
@@ -377,13 +441,13 @@ MonoBehaviour:
Data: _FirstLoopCallbackObject
- Name: $v
Entry: 7
Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FirstLoopCallbackObject
- Name: <UserType>k__BackingField
Entry: 7
Data: 26|System.RuntimeType, mscorlib
Data: 30|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UdonSharp.UdonSharpBehaviour, UdonSharp.Runtime
@@ -407,13 +471,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 27|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 28|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 32|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@@ -422,13 +486,13 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 29|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 33|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 30|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
Data: 34|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- Name: tooltip
Entry: 1
Data: Set this to call a function on an UdonSharpBehaviour instead of looping
@@ -456,13 +520,13 @@ MonoBehaviour:
Data: _FirstLoopCallbackFunction
- Name: $v
Entry: 7
Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FirstLoopCallbackFunction
- Name: <UserType>k__BackingField
Entry: 7
Data: 32|System.RuntimeType, mscorlib
Data: 36|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String, mscorlib
@@ -471,7 +535,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 32
Data: 36
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -486,13 +550,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 33|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
- Name:
Entry: 7
Data: 34|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 38|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -516,7 +580,7 @@ MonoBehaviour:
Data: _Active
- Name: $v
Entry: 7
Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Active
@@ -540,13 +604,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 40|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 37|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 41|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@@ -570,13 +634,13 @@ MonoBehaviour:
Data: _Timer
- Name: $v
Entry: 7
Data: 38|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Timer
- Name: <UserType>k__BackingField
Entry: 7
Data: 39|System.RuntimeType, mscorlib
Data: 43|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Single, mscorlib
@@ -585,103 +649,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 39
- 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: _AwaitingNextSwitch
- Name: $v
Entry: 7
Data: 41|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AwaitingNextSwitch
- 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
- 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: 43|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
Data: 43
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -717,13 +685,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _LoopedOnce
Data: _AwaitingNextSwitch
- Name: $v
Entry: 7
Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _LoopedOnce
Data: _AwaitingNextSwitch
- Name: <UserType>k__BackingField
Entry: 9
Data: 16
@@ -760,6 +728,102 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _NextCameraIndex
- Name: $v
Entry: 7
Data: 47|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _NextCameraIndex
- Name: <UserType>k__BackingField
Entry: 9
Data: 25
- 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: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 48|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: 49|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: 50|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:
@@ -12,6 +12,8 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
[SerializeField] private string[] _SwitchFunctions;
[SerializeField] private float[] _TimeBetweenCuts = { 5.0f };
[Space]
[SerializeField, Tooltip("When enabled, switcher will reset when activated, even if it wasn't deactivated first.")]
private bool _AlwaysReactivate = false;
[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;
@@ -20,7 +22,7 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
private UdonSharpBehaviour _FirstLoopCallbackObject = null;
[SerializeField] private string _FirstLoopCallbackFunction = "";
[UdonSynced] private bool _Active = false;
[UdonSynced] private bool _Active = false;
private float _Timer = 0.0f;
private bool _AwaitingNextSwitch = false;
@@ -50,14 +52,15 @@ public class CameraTimedSwitcher : UdonSharpBehaviour
public void Activate(bool Activate)
{
_Active = Activate;
_Activate_Synced();
RequestSerialization();
if (_Active != Activate || _AlwaysReactivate)
{
_Active = Activate;
_Activate_Synced();
RequestSerialization();
}
}
private void _Activate_Synced()
{
Debug.Log("[CameraTimedSwitcher] " + gameObject.name + " is now " + (_Active ? "active" : "inactive"));
_AwaitingNextSwitch = false;
if (_Active)
+102 -24
View File
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 12
Data: 13
- Name:
Entry: 7
Data:
@@ -426,25 +426,103 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _AttachedCameraIndex
Data: FollowMethod
- Name: $v
Entry: 7
Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AttachedCameraIndex
Data: FollowMethod
- Name: <UserType>k__BackingField
Entry: 7
Data: 28|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: PossibleFollowMethods, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 29|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: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 30|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 31|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 32|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
- Name: tooltip
Entry: 1
Data: How the camera should follow players, if it's set to do so.
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 33|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: _AttachedCameraIndex
- Name: $v
Entry: 7
Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AttachedCameraIndex
- Name: <UserType>k__BackingField
Entry: 9
Data: 29
- Name: <SystemType>k__BackingField
Entry: 9
Data: 28
Data: 29
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -459,13 +537,13 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 35|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 30|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
Data: 36|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@@ -489,13 +567,13 @@ MonoBehaviour:
Data: _AttachedCamera
- Name: $v
Entry: 7
Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AttachedCamera
- Name: <UserType>k__BackingField
Entry: 7
Data: 32|System.RuntimeType, mscorlib
Data: 38|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Camera, UnityEngine.CoreModule
@@ -504,7 +582,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 32
Data: 38
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -519,7 +597,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 39|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@@ -543,13 +621,13 @@ MonoBehaviour:
Data: _FollowedPlayerNames
- Name: $v
Entry: 7
Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FollowedPlayerNames
- Name: <UserType>k__BackingField
Entry: 7
Data: 35|System.RuntimeType, mscorlib
Data: 41|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String[], mscorlib
@@ -558,7 +636,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 35
Data: 41
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -573,7 +651,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@@ -597,16 +675,16 @@ MonoBehaviour:
Data: _FollowedPlayerNames_Cache
- Name: $v
Entry: 7
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FollowedPlayerNames_Cache
- Name: <UserType>k__BackingField
Entry: 9
Data: 35
Data: 41
- Name: <SystemType>k__BackingField
Entry: 9
Data: 35
Data: 41
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -621,7 +699,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 44|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@@ -645,13 +723,13 @@ MonoBehaviour:
Data: _FollowedPlayers
- Name: $v
Entry: 7
Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _FollowedPlayers
- Name: <UserType>k__BackingField
Entry: 7
Data: 40|System.RuntimeType, mscorlib
Data: 46|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VRC.SDKBase.VRCPlayerApi[], VRCSDKBase
@@ -660,7 +738,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 40
Data: 46
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -675,7 +753,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 41|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@@ -699,7 +777,7 @@ MonoBehaviour:
Data: _CameraFollowSpeed
- Name: $v
Entry: 7
Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 48|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CameraFollowSpeed
@@ -723,7 +801,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 43|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 49|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
+70 -9
View File
@@ -7,9 +7,19 @@ using VRC.SDKBase;
using VRC.Udon.Common;
public enum PossibleFollowMethods
{
CloseUp,
HeadAndShoulders,
HipsUp,
FullBody
};
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class CameraAnchor : UdonSharpBehaviour
{
[SerializeField] private CameraSystem_Console CameraSystemManager;
[Space]
[SerializeField] private float FOV = 60.0f;
@@ -19,6 +29,9 @@ public class CameraAnchor : UdonSharpBehaviour
[SerializeField] private Transform CameraRoot;
[Tooltip("Changing the Z scale of this object will change the FOV of the attached camera.")]
[SerializeField] private Transform CameraFOVScaler;
[Space]
[Tooltip("How the camera should follow players, if it's set to do so.")]
[SerializeField] private PossibleFollowMethods FollowMethod;
[UdonSynced] private int _AttachedCameraIndex = -1;
@@ -51,15 +64,14 @@ public class CameraAnchor : UdonSharpBehaviour
Vector3 CentroidSum = Vector3.zero;
for (int i = 0; i < _FollowedPlayers.Length; i++)
{
Vector3 LeftEyePosition = _FollowedPlayers[i].GetBonePosition(HumanBodyBones.LeftEye);
Vector3 RightEyePosition = _FollowedPlayers[i].GetBonePosition(HumanBodyBones.RightEye);
Vector3 LeftFootPosition = _FollowedPlayers[i].GetBonePosition(HumanBodyBones.LeftFoot);
Vector3 RightFootPosition = _FollowedPlayers[i].GetBonePosition(HumanBodyBones.RightFoot);
CentroidSum += new Vector3(
(LeftEyePosition.x + RightEyePosition.x + LeftFootPosition.x + RightFootPosition.x) / 4.0f,
(LeftEyePosition.y + RightEyePosition.y + LeftFootPosition.y + RightFootPosition.y) / 4.0f,
(LeftEyePosition.z + RightEyePosition.z + LeftFootPosition.z + RightFootPosition.z) / 4.0f);
Vector3[] BonePositions = _BonesFromFollowMethod(_FollowedPlayers[i]);
Vector3 CentroidPointsAverage = Vector3.zero;
for (int j = 0; j < BonePositions.Length; j++)
{
CentroidPointsAverage += BonePositions[j];
}
CentroidPointsAverage /= BonePositions.Length;
CentroidSum += CentroidPointsAverage;
}
Vector3 CentroidAverage = CentroidSum / _FollowedPlayers.Length;
@@ -77,6 +89,55 @@ public class CameraAnchor : UdonSharpBehaviour
}
}
private Vector3[] _BonesFromFollowMethod(VRCPlayerApi Player)
{
switch(FollowMethod)
{
case PossibleFollowMethods.CloseUp:
{
Vector3[] BonesToTrack = new Vector3[3];
BonesToTrack[0] = Player.GetBonePosition(HumanBodyBones.LeftEye);
BonesToTrack[1] = Player.GetBonePosition(HumanBodyBones.RightEye);
BonesToTrack[2] = Player.GetBonePosition(HumanBodyBones.Neck);
return BonesToTrack;
}
case PossibleFollowMethods.HeadAndShoulders:
{
Vector3[] BonesToTrack = new Vector3[4];
BonesToTrack[0] = Player.GetBonePosition(HumanBodyBones.LeftEye);
BonesToTrack[1] = Player.GetBonePosition(HumanBodyBones.RightEye);
BonesToTrack[2] = Player.GetBonePosition(HumanBodyBones.LeftShoulder);
BonesToTrack[3] = Player.GetBonePosition(HumanBodyBones.RightShoulder);
return BonesToTrack;
}
case PossibleFollowMethods.HipsUp:
{
Vector3[] BonesToTrack = new Vector3[4];
BonesToTrack[0] = Player.GetBonePosition(HumanBodyBones.LeftEye);
BonesToTrack[1] = Player.GetBonePosition(HumanBodyBones.RightEye);
BonesToTrack[2] = Player.GetBonePosition(HumanBodyBones.LeftUpperLeg);
BonesToTrack[3] = Player.GetBonePosition(HumanBodyBones.RightUpperLeg);
return BonesToTrack;
}
case PossibleFollowMethods.FullBody:
{
Vector3[] BonesToTrack = new Vector3[4];
BonesToTrack[0] = Player.GetBonePosition(HumanBodyBones.LeftEye);
BonesToTrack[1] = Player.GetBonePosition(HumanBodyBones.RightEye);
BonesToTrack[2] = Player.GetBonePosition(HumanBodyBones.LeftFoot);
BonesToTrack[3] = Player.GetBonePosition(HumanBodyBones.RightFoot);
return BonesToTrack;
}
default:
{
Vector3[] BonesToTrack = new Vector3[1];
BonesToTrack[0] = Player.GetPosition();
return BonesToTrack;
}
}
}
public override void OnDeserialization(DeserializationResult Result)
{
@@ -49,11 +49,6 @@ public class CameraControllerBase : UdonSharpBehaviour
public void ActivateCameraSwitcher(CameraTimedSwitcher Switcher = null)
{
if (_ActiveSwitcher == Switcher)
{
return;
}
if (_ActiveSwitcher != null)
{
_ActiveSwitcher.Activate(false);
File diff suppressed because it is too large Load Diff
@@ -17,6 +17,7 @@ public class CameraControllerRound1 : CameraControllerBase
[SerializeField] public Camera VideoPlayerCamera;
[Space]
[SerializeField] public CameraTimerSwitchTrigger HostCameraTrigger;
[SerializeField] public CameraSwitchTrigger ModemCameraTrigger;
[Space]
[SerializeField] public CameraTimedSwitcher HostAndAllPlayersTimerToggle;
[SerializeField] public CameraTimedSwitcher HostAndIndividualPlayersTimerToggle;
@@ -49,6 +50,7 @@ public class CameraControllerRound1 : CameraControllerBase
[UdonSynced, FieldChangeCallback(nameof(_PlayOpeningCallback))] private bool _PlayOpening = false;
[UdonSynced, FieldChangeCallback(nameof(_PlayOpeningDoorwayCallback))] private bool _PlayOpeningDoorway = false;
[UdonSynced, FieldChangeCallback(nameof(_PlayModemZoomCallback))] private bool _PlayModemZoom = false;
public override void InitialiseCameras()
@@ -85,6 +87,7 @@ public class CameraControllerRound1 : CameraControllerBase
Networking.SetOwner(Player, VideoPlayerCamera.gameObject);
Networking.SetOwner(Player, HostCameraTrigger.gameObject);
Networking.SetOwner(Player, ModemCameraTrigger.gameObject);
Networking.SetOwner(Player, HostAndAllPlayersTimerToggle.gameObject);
Networking.SetOwner(Player, HostAndIndividualPlayersTimerToggle.gameObject);
@@ -285,6 +288,15 @@ public class CameraControllerRound1 : CameraControllerBase
HostCameraTrigger.gameObject.SetActive(false);
}
public void ActivateModemCameraTrigger()
{
ModemCameraTrigger.gameObject.SetActive(true);
}
public void DeactivateModemCameraTrigger()
{
ModemCameraTrigger.gameObject.SetActive(false);
}
public void PlayOpening(bool Play)
{
@@ -312,6 +324,18 @@ public class CameraControllerRound1 : CameraControllerBase
RequestSerialization();
}
public void PlayModemZoom(bool Play)
{
if (Play)
{
SwitchToModemCamera();
}
_PlayModemZoomCallback = Play;
RequestSerialization();
}
public override void DisableAllTriggers()
@@ -345,4 +369,14 @@ public class CameraControllerRound1 : CameraControllerBase
}
get => _PlayOpeningDoorway;
}
private bool _PlayModemZoomCallback
{
set
{
_PlayModemZoom = value;
_CameraAnimator.SetBool("Play Modem Zoom", _PlayModemZoom);
}
get => _PlayModemZoom;
}
}
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 28
Data: 31
- Name:
Entry: 7
Data:
@@ -1193,25 +1193,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: Player1CameraAnchor
Data: _CameraAnimator
- Name: $v
Entry: 7
Data: 71|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player1CameraAnchor
Data: _CameraAnimator
- Name: <UserType>k__BackingField
Entry: 7
Data: 72|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraAnchor, Assembly-CSharp
Data: UnityEngine.Animator, UnityEngine.AnimationModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
Data: 72
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1262,16 +1262,22 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: Player2CameraAnchor
Data: Player1CameraAnchor
- Name: $v
Entry: 7
Data: 76|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player2CameraAnchor
Data: Player1CameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
Entry: 7
Data: 77|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraAnchor, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@@ -1289,283 +1295,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 77|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 78|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: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: HostAndWinnerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
- 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: 80|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 81|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: LocationBoardCameraAnchor
- Name: $v
Entry: 7
Data: 82|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: LocationBoardCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
- 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: 83|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 84|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: ModemCameraAnchor
- Name: $v
Entry: 7
Data: 85|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: ModemCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
- 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: 86|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 87|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: 88|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoPlayerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
- 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: 89|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 90|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: 91|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: WideShotCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
- 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: 92|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 78|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 93|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 79|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@@ -1574,7 +1310,340 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 94|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 80|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: 81|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Player2CameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
- 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: 82|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 83|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: 84|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: HostAndWinnerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
- 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: 85|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 86|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: LocationBoardCameraAnchor
- Name: $v
Entry: 7
Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: LocationBoardCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
- 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: 88|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 89|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: ModemCameraAnchor
- Name: $v
Entry: 7
Data: 90|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: ModemCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
- 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: 91|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 92|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: 93|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: VideoPlayerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
- 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: 94|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 95|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: 96|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: WideShotCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
- 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: 97|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 98|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 99|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -1598,13 +1667,13 @@ MonoBehaviour:
Data: AllPlayersCameraAnchor
- Name: $v
Entry: 7
Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 100|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: AllPlayersCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 72
Data: 77
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
@@ -1622,13 +1691,136 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 96|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 101|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 97|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 102|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: WinningPlayerCameraAnchor
- Name: $v
Entry: 7
Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: WinningPlayerCameraAnchor
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
- 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: 104|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 105|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: _PlayModemZoom
- Name: $v
Entry: 7
Data: 106|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PlayModemZoom
- Name: <UserType>k__BackingField
Entry: 7
Data: 107|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 107
- 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: 108|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 109|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 110|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
@@ -29,6 +29,8 @@ public class CameraControllerRound2 : CameraControllerBase
[SerializeField] public CameraTimedSwitcher LocationBoardAndWinningPlayerTimerToggle;
[SerializeField] public CameraTimedSwitcher VideoPlayerToWinningPlayerTimerToggle;
[Space]
[SerializeField] public Animator _CameraAnimator;
[Space]
[SerializeField] public CameraAnchor Player1CameraAnchor;
[SerializeField] public CameraAnchor Player2CameraAnchor;
[SerializeField] public CameraAnchor HostAndWinnerCameraAnchor;
@@ -38,6 +40,9 @@ public class CameraControllerRound2 : CameraControllerBase
[Space]
[SerializeField] public CameraAnchor WideShotCameraAnchor;
[SerializeField] public CameraAnchor AllPlayersCameraAnchor;
[SerializeField] public CameraAnchor WinningPlayerCameraAnchor;
[UdonSynced, FieldChangeCallback(nameof(_PlayModemZoomCallback))] private bool _PlayModemZoom = false;
public override void InitialiseCameras()
@@ -74,6 +79,8 @@ public class CameraControllerRound2 : CameraControllerBase
Networking.SetOwner(Player, LocationBoardAndWinningPlayerTimerToggle.gameObject);
Networking.SetOwner(Player, VideoPlayerToWinningPlayerTimerToggle.gameObject);
Networking.SetOwner(Player, _CameraAnimator.gameObject);
Networking.SetOwner(Player, Player1CameraAnchor.gameObject);
Networking.SetOwner(Player, Player2CameraAnchor.gameObject);
Networking.SetOwner(Player, HostAndWinnerCameraAnchor.gameObject);
@@ -82,6 +89,7 @@ public class CameraControllerRound2 : CameraControllerBase
Networking.SetOwner(Player, WideShotCameraAnchor.gameObject);
Networking.SetOwner(Player, AllPlayersCameraAnchor.gameObject);
Networking.SetOwner(Player, WinningPlayerCameraAnchor.gameObject);
base.OnOwnershipTransferred(Player);
}
@@ -138,6 +146,26 @@ public class CameraControllerRound2 : CameraControllerBase
SwitchToLiveCamera(PrimaryFocusCamera);
}
public void ActivateWinningPlayerCamera()
{
WinningPlayerCameraAnchor.AttachCamera(PrimaryFocusCamera);
}
public void SwitchToWinningPlayerCamera()
{
ActivateWinningPlayerCamera();
SwitchToLiveCamera(PrimaryFocusCamera);
}
public void WinningPlayerCamera_FollowPlayers(string[] Players, float FollowSpeed = 1.0f)
{
WinningPlayerCameraAnchor.FollowPlayers(Players, FollowSpeed);
}
public void WinningPlayerCamera_StopFollowingPlayers()
{
WinningPlayerCameraAnchor.StopFollowingPlayers();
}
public void ActivateHostAllPlayersCameraSwitcher()
{
@@ -205,6 +233,19 @@ public class CameraControllerRound2 : CameraControllerBase
}
public void PlayModemZoom(bool Play)
{
if (Play)
{
SwitchToModemCamera();
}
_PlayModemZoomCallback = Play;
RequestSerialization();
}
public override void DisableAllTriggers()
{
HostAndAllPlayersCameraTrigger.gameObject.SetActive(false);
@@ -214,4 +255,15 @@ public class CameraControllerRound2 : CameraControllerBase
{
ActivateCameraSwitcher(null);
}
private bool _PlayModemZoomCallback
{
set
{
_PlayModemZoom = value;
_CameraAnimator.SetBool("Play Modem Zoom", _PlayModemZoom);
}
get => _PlayModemZoom;
}
}