From aff0db9b64068da105acf185f5591fcf4c68d206 Mon Sep 17 00:00:00 2001 From: Thorbjoern Date: Sat, 19 Jul 2025 18:14:39 +0200 Subject: [PATCH] Removed TopDown View without deadzone. Exchanged Deadzone with Lookahead. Added Zoom to TopDown View --- Assets/_Scenes/TrainingObserverMeta.unity | 344 ++++++++++++------ Assets/_Scripts/Utility/ActiveToggle.cs | 7 - .../CinemachinePositionComposerController.cs | 42 +++ ...emachinePositionComposerController.cs.meta | 2 + .../_Scripts/Utility/EnableDisableActions.cs | 18 + .../Utility/EnableDisableActions.cs.meta | 2 + 6 files changed, 288 insertions(+), 127 deletions(-) create mode 100644 Assets/_Scripts/Utility/CinemachinePositionComposerController.cs create mode 100644 Assets/_Scripts/Utility/CinemachinePositionComposerController.cs.meta create mode 100644 Assets/_Scripts/Utility/EnableDisableActions.cs create mode 100644 Assets/_Scripts/Utility/EnableDisableActions.cs.meta diff --git a/Assets/_Scenes/TrainingObserverMeta.unity b/Assets/_Scenes/TrainingObserverMeta.unity index ca7aedc..a782e1f 100644 --- a/Assets/_Scenes/TrainingObserverMeta.unity +++ b/Assets/_Scenes/TrainingObserverMeta.unity @@ -1097,7 +1097,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 69372139} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -1183,7 +1183,7 @@ GameObject: - component: {fileID: 55378119} - component: {fileID: 55378120} m_Layer: 5 - m_Name: Instant + m_Name: Movement Prediction m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1257,9 +1257,9 @@ MonoBehaviour: onValueChanged: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 69372139} - m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine - m_MethodName: SetActive + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetLookahead m_Mode: 0 m_Arguments: m_ObjectArgument: {fileID: 0} @@ -1269,7 +1269,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - m_IsOn: 1 + m_IsOn: 0 --- !u!114 &55378120 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1505,6 +1505,7 @@ GameObject: - component: {fileID: 69372142} - component: {fileID: 69372141} - component: {fileID: 69372140} + - component: {fileID: 69372143} m_Layer: 0 m_Name: TopdownCamDeadzone m_TagString: Untagged @@ -1540,9 +1541,9 @@ MonoBehaviour: Damping: {x: 1, y: 1, z: 1} Lookahead: Enabled: 0 - Time: 0 + Time: 0.5 Smoothing: 0 - IgnoreY: 0 + IgnoreY: 1 --- !u!114 &69372141 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1601,6 +1602,21 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &69372143 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69372139} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d094cb092662b64c925f5d3aff0cc5c, type: 3} + m_Name: + m_EditorClassIdentifier: + zoomAction: {fileID: 5082991133974614888, guid: 1d6e640e716dc4ff6989b73d02023f2b, + type: 3} + positionComposer: {fileID: 69372140} --- !u!1 &98653379 GameObject: m_ObjectHideFlags: 0 @@ -3233,7 +3249,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -5313,7 +5329,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -5645,7 +5661,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -7380,101 +7396,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 0 ---- !u!1 &633191647 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 633191651} - - component: {fileID: 633191650} - - component: {fileID: 633191649} - m_Layer: 0 - m_Name: TopdownCam - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &633191649 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 633191647} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b617507da6d07e749b7efdb34e1173e1, type: 3} - m_Name: - m_EditorClassIdentifier: - TrackerSettings: - BindingMode: 5 - PositionDamping: {x: 1, y: 1, z: 1} - AngularDampingMode: 0 - RotationDamping: {x: 1, y: 1, z: 1} - QuaternionDamping: 1 - FollowOffset: {x: 0, y: 4, z: -0} ---- !u!114 &633191650 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 633191647} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3} - m_Name: - m_EditorClassIdentifier: - Priority: - Enabled: 0 - m_Value: 0 - OutputChannel: 1 - StandbyUpdate: 2 - m_StreamingVersion: 20241001 - m_LegacyPriority: 0 - Target: - TrackingTarget: {fileID: 1163434184} - LookAtTarget: {fileID: 0} - CustomLookAtTarget: 0 - Lens: - FieldOfView: 60.000004 - OrthographicSize: 5 - NearClipPlane: 0.3 - FarClipPlane: 1000 - Dutch: 0 - ModeOverride: 0 - PhysicalProperties: - GateFit: 2 - SensorSize: {x: 21.946, y: 16.002} - LensShift: {x: 0, y: 0} - FocusDistance: 10 - Iso: 200 - ShutterSpeed: 0.005 - Aperture: 16 - BladeCount: 5 - Curvature: {x: 2, y: 11} - BarrelClipping: 0.25 - Anamorphism: 0 - BlendHint: 0 ---- !u!4 &633191651 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 633191647} - serializedVersion: 2 - m_LocalRotation: {x: 0.70090926, y: 0.000000047720953, z: -0.00000004689525, w: 0.71325046} - m_LocalPosition: {x: 21, y: 4, z: -4} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &640634469 GameObject: m_ObjectHideFlags: 0 @@ -7594,7 +7515,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -9629,7 +9550,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -10555,7 +10476,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -12922,7 +12843,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 69372139} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -14800,6 +14721,7 @@ GameObject: - component: {fileID: 1067192179} - component: {fileID: 1067192178} - component: {fileID: 1067192177} + - component: {fileID: 1067192180} m_Layer: 5 m_Name: Canvas DateSelector m_TagString: Untagged @@ -14890,6 +14812,72 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 +--- !u!114 &1067192180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1067192175} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 91dc9a5d938f31646aa29634858590b0, type: 3} + m_Name: + m_EditorClassIdentifier: + onEnable: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - m_Target: {fileID: 737210448} + m_TargetAssemblyTypeName: OrbitCameraMouseControl, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + onDisable: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 737210448} + m_TargetAssemblyTypeName: OrbitCameraMouseControl, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1079621298 GameObject: m_ObjectHideFlags: 0 @@ -16763,6 +16751,18 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 - eventID: 1 callback: m_PersistentCalls: @@ -16779,6 +16779,18 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1248462728 GameObject: m_ObjectHideFlags: 0 @@ -17605,6 +17617,7 @@ GameObject: - component: {fileID: 1297330938} - component: {fileID: 1297330937} - component: {fileID: 1297330941} + - component: {fileID: 1297330942} m_Layer: 5 m_Name: DateSelector m_TagString: Untagged @@ -17717,6 +17730,75 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!114 &1297330942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1297330936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - m_Target: {fileID: 737210448} + m_TargetAssemblyTypeName: OrbitCameraMouseControl, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 737210448} + m_TargetAssemblyTypeName: OrbitCameraMouseControl, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1298332950 GameObject: m_ObjectHideFlags: 0 @@ -20426,7 +20508,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 69372139} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -21430,7 +21512,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -22080,6 +22162,18 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 - eventID: 1 callback: m_PersistentCalls: @@ -22096,6 +22190,18 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 + - m_Target: {fileID: 69372143} + m_TargetAssemblyTypeName: CinemachinePositionComposerController, Assembly-CSharp + m_MethodName: SetBlocker + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1622022039 GameObject: m_ObjectHideFlags: 0 @@ -23912,7 +24018,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -24552,7 +24658,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: abd89bb51410b3544b3847550a228b97, type: 3} m_Name: m_EditorClassIdentifier: - gameObject: {fileID: 0} --- !u!1 &1830748921 GameObject: m_ObjectHideFlags: 0 @@ -25121,8 +25226,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1872739400} serializedVersion: 2 - m_LocalRotation: {x: 0.70090926, y: 0.000000047720953, z: -0.00000004689525, w: 0.71325046} - m_LocalPosition: {x: 21, y: 4, z: -4} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 21, y: 4.9999995, z: -2.9226494} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -25773,7 +25878,7 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 - - m_Target: {fileID: 633191647} + - m_Target: {fileID: 0} m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine m_MethodName: SetActive m_Mode: 6 @@ -28981,7 +29086,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Deadzone + m_text: Movement Prediction m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -29046,7 +29151,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 0, y: 0, z: -39.292114, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -38126,7 +38231,6 @@ SceneRoots: - {fileID: 1872739404} - {fileID: 1201203319} - {fileID: 1718592347} - - {fileID: 633191651} - {fileID: 69372142} - {fileID: 737210447} - {fileID: 936036521} diff --git a/Assets/_Scripts/Utility/ActiveToggle.cs b/Assets/_Scripts/Utility/ActiveToggle.cs index caff225..052db8c 100644 --- a/Assets/_Scripts/Utility/ActiveToggle.cs +++ b/Assets/_Scripts/Utility/ActiveToggle.cs @@ -2,13 +2,6 @@ using UnityEngine; public class ActiveToggle : MonoBehaviour { - public GameObject gameObject; - - public void ToggleActive() - { - gameObject.SetActive(!gameObject.activeSelf); - } - public void ToggleActive(GameObject obj) { obj.SetActive(!obj.activeSelf); diff --git a/Assets/_Scripts/Utility/CinemachinePositionComposerController.cs b/Assets/_Scripts/Utility/CinemachinePositionComposerController.cs new file mode 100644 index 0000000..a3b1b4d --- /dev/null +++ b/Assets/_Scripts/Utility/CinemachinePositionComposerController.cs @@ -0,0 +1,42 @@ +using Oculus.Interaction; +using Unity.Cinemachine; +using UnityEngine; +using UnityEngine.InputSystem; + +public class CinemachinePositionComposerController : MonoBehaviour +{ + [Header("Input Actions")] + public InputActionReference zoomAction; + + public CinemachinePositionComposer positionComposer; + + private bool zoomBlocked = false; + + private void OnEnable() + { + if (zoomAction != null) + zoomAction.action.Enable(); + } + + + + void Update() + { + if (zoomAction != null && !zoomBlocked) + { + Vector2 zoomValue = zoomAction.action.ReadValue(); + positionComposer.CameraDistance = positionComposer.CameraDistance - zoomValue.y * 0.25f; + } + + } + + public void SetBlocker(bool value) + { + zoomBlocked = value; + } + + public void SetLookahead(bool value) + { + positionComposer.Lookahead.Enabled = value; + } +} diff --git a/Assets/_Scripts/Utility/CinemachinePositionComposerController.cs.meta b/Assets/_Scripts/Utility/CinemachinePositionComposerController.cs.meta new file mode 100644 index 0000000..cbb5113 --- /dev/null +++ b/Assets/_Scripts/Utility/CinemachinePositionComposerController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4d094cb092662b64c925f5d3aff0cc5c \ No newline at end of file diff --git a/Assets/_Scripts/Utility/EnableDisableActions.cs b/Assets/_Scripts/Utility/EnableDisableActions.cs new file mode 100644 index 0000000..838342a --- /dev/null +++ b/Assets/_Scripts/Utility/EnableDisableActions.cs @@ -0,0 +1,18 @@ +using UnityEngine; +using UnityEngine.Events; + +public class EnableDisableActions : MonoBehaviour +{ + [SerializeField] UnityEvent onEnable; + [SerializeField] UnityEvent onDisable; + + private void OnEnable() + { + onEnable.Invoke(); + } + + private void OnDisable() + { + onDisable.Invoke(); + } +} diff --git a/Assets/_Scripts/Utility/EnableDisableActions.cs.meta b/Assets/_Scripts/Utility/EnableDisableActions.cs.meta new file mode 100644 index 0000000..325775c --- /dev/null +++ b/Assets/_Scripts/Utility/EnableDisableActions.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 91dc9a5d938f31646aa29634858590b0 \ No newline at end of file