diff --git a/Assets/Models/Fortus Canister/Model/Cartridge_V3 Variant Interactable.prefab b/Assets/Models/Fortus Canister/Model/Cartridge_V3 Variant Interactable.prefab
index d6ab9f3..77cf53e 100644
--- a/Assets/Models/Fortus Canister/Model/Cartridge_V3 Variant Interactable.prefab
+++ b/Assets/Models/Fortus Canister/Model/Cartridge_V3 Variant Interactable.prefab
@@ -260,6 +260,9 @@ GameObject:
- component: {fileID: 5236466170488912795}
- component: {fileID: 8136670427705346541}
- component: {fileID: 2897259354266345947}
+ - component: {fileID: 1280075286638713478}
+ - component: {fileID: 7870551422755492877}
+ - component: {fileID: 3540580792236698558}
m_Layer: 0
m_Name: Clip
m_TagString: Untagged
@@ -333,6 +336,206 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &1280075286638713478
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1182665900626322174}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 0.0006995102, y: 0.00040441856, z: 0.00021432019}
+ m_Center: {x: -0.000004023314, y: 0.0000000016229773, z: 0.00004916335}
+--- !u!54 &7870551422755492877
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1182665900626322174}
+ serializedVersion: 4
+ m_Mass: 1
+ m_Drag: 0
+ m_AngularDrag: 0.05
+ m_CenterOfMass: {x: 0, y: 0, z: 0}
+ m_InertiaTensor: {x: 1, y: 1, z: 1}
+ m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ImplicitCom: 1
+ m_ImplicitTensor: 1
+ m_UseGravity: 0
+ m_IsKinematic: 1
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!114 &3540580792236698558
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1182665900626322174}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_InteractionManager: {fileID: 0}
+ m_Colliders: []
+ m_InteractionLayerMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_InteractionLayers:
+ m_Bits: 17
+ m_DistanceCalculationMode: 1
+ m_SelectMode: 0
+ m_FocusMode: 1
+ m_CustomReticle: {fileID: 0}
+ m_AllowGazeInteraction: 0
+ m_AllowGazeSelect: 0
+ m_OverrideGazeTimeToSelect: 0
+ m_GazeTimeToSelect: 0.5
+ m_OverrideTimeToAutoDeselectGaze: 0
+ m_TimeToAutoDeselectGaze: 3
+ m_AllowGazeAssistance: 0
+ m_FirstHoverEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_LastHoverExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_HoverEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_HoverExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FirstSelectEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_LastSelectExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_SelectEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_SelectExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FirstFocusEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_LastFocusExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FocusEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FocusExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Activated:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Deactivated:
+ m_PersistentCalls:
+ m_Calls: []
+ m_StartingHoverFilters: []
+ m_StartingSelectFilters: []
+ m_StartingInteractionStrengthFilters: []
+ m_OnFirstHoverEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnLastHoverExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnHoverEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnHoverExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSelectEntered:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSelectExited:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSelectCanceled:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnActivate:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnDeactivate:
+ m_PersistentCalls:
+ m_Calls: []
+ m_AttachTransform: {fileID: 0}
+ m_SecondaryAttachTransform: {fileID: 0}
+ m_UseDynamicAttach: 0
+ m_MatchAttachPosition: 1
+ m_MatchAttachRotation: 1
+ m_SnapToColliderVolume: 1
+ m_ReinitializeDynamicAttachEverySingleGrab: 1
+ m_AttachEaseInTime: 0.15
+ m_MovementType: 2
+ m_VelocityDamping: 1
+ m_VelocityScale: 1
+ m_AngularVelocityDamping: 1
+ m_AngularVelocityScale: 1
+ m_TrackPosition: 1
+ m_SmoothPosition: 0
+ m_SmoothPositionAmount: 8
+ m_TightenPosition: 0.1
+ m_TrackRotation: 1
+ m_SmoothRotation: 0
+ m_SmoothRotationAmount: 8
+ m_TightenRotation: 0.1
+ m_TrackScale: 0
+ m_SmoothScale: 0
+ m_SmoothScaleAmount: 8
+ m_TightenScale: 0.1
+ m_ThrowOnDetach: 0
+ m_ThrowSmoothingDuration: 0.25
+ m_ThrowSmoothingCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_ThrowVelocityScale: 1.5
+ m_ThrowAngularVelocityScale: 1
+ m_ForceGravityOnDetach: 0
+ m_RetainTransformParent: 1
+ m_AttachPointCompatibilityMode: 0
+ m_StartingSingleGrabTransformers: []
+ m_StartingMultipleGrabTransformers: []
+ m_AddDefaultGrabTransformers: 1
--- !u!1 &1360195127966810115
GameObject:
m_ObjectHideFlags: 0
@@ -1343,8 +1546,8 @@ Rigidbody:
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
- m_IsKinematic: 0
- m_Interpolate: 1
+ m_IsKinematic: 1
+ m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!59 &3414920703166708064
@@ -1357,9 +1560,9 @@ HingeJoint:
m_ConnectedBody: {fileID: 0}
m_ConnectedArticulationBody: {fileID: 0}
m_Anchor: {x: 0, y: 0, z: 0}
- m_Axis: {x: 1, y: 0, z: 0}
+ m_Axis: {x: -1, y: 0, z: 0}
m_AutoConfigureConnectedAnchor: 1
- m_ConnectedAnchor: {x: -0.1585, y: 0.228, z: -0.0204}
+ m_ConnectedAnchor: {x: 0.44860125, y: 1.1474999, z: 3.1980007}
serializedVersion: 2
m_UseSpring: 0
m_Spring:
@@ -1371,14 +1574,14 @@ HingeJoint:
targetVelocity: 0
force: 0
freeSpin: 0
- m_UseLimits: 0
+ m_UseLimits: 1
m_ExtendedLimits: 0
m_UseAcceleration: 0
m_Limits:
- min: -86
- max: 86
+ min: 0
+ max: 180
bounciness: 0
- bounceMinVelocity: 0.2
+ bounceMinVelocity: 0
contactDistance: 0
m_BreakForce: Infinity
m_BreakTorque: Infinity
@@ -1425,7 +1628,7 @@ MonoBehaviour:
serializedVersion: 2
m_Bits: 4294967295
m_InteractionLayers:
- m_Bits: 1
+ m_Bits: 3
m_DistanceCalculationMode: 1
m_SelectMode: 0
m_FocusMode: 1
@@ -1526,7 +1729,7 @@ MonoBehaviour:
m_SmoothPosition: 0
m_SmoothPositionAmount: 8
m_TightenPosition: 0.1
- m_TrackRotation: 1
+ m_TrackRotation: 0
m_SmoothRotation: 0
m_SmoothRotationAmount: 8
m_TightenRotation: 0.1
@@ -2399,8 +2602,8 @@ Rigidbody:
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
- m_IsKinematic: 0
- m_Interpolate: 1
+ m_IsKinematic: 1
+ m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &9126189417414843225
@@ -2513,7 +2716,7 @@ MonoBehaviour:
m_SnapToColliderVolume: 1
m_ReinitializeDynamicAttachEverySingleGrab: 1
m_AttachEaseInTime: 0.15
- m_MovementType: 2
+ m_MovementType: 1
m_VelocityDamping: 1
m_VelocityScale: 1
m_AngularVelocityDamping: 1
@@ -2861,8 +3064,8 @@ Rigidbody:
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
- m_IsKinematic: 0
- m_Interpolate: 1
+ m_IsKinematic: 1
+ m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &8710816239888859076
@@ -2883,7 +3086,7 @@ MonoBehaviour:
serializedVersion: 2
m_Bits: 4294967295
m_InteractionLayers:
- m_Bits: 1
+ m_Bits: 9
m_DistanceCalculationMode: 1
m_SelectMode: 0
m_FocusMode: 1
@@ -2975,7 +3178,7 @@ MonoBehaviour:
m_SnapToColliderVolume: 1
m_ReinitializeDynamicAttachEverySingleGrab: 1
m_AttachEaseInTime: 0.15
- m_MovementType: 2
+ m_MovementType: 1
m_VelocityDamping: 1
m_VelocityScale: 1
m_AngularVelocityDamping: 1
diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta
index e5ddd5e..6d88404 100644
--- a/Assets/Plugins.meta
+++ b/Assets/Plugins.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: ba0e56aa5724942c2b9bcea33d230c4f
+guid: 65c18d699fcadad459bc3e16558c2bd2
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/Sirenix.meta b/Assets/Plugins/Sirenix.meta
index ab51f7f..2b43858 100644
--- a/Assets/Plugins/Sirenix.meta
+++ b/Assets/Plugins/Sirenix.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3696afdc79e544cea864847b400c1125
+guid: 7db84c72b2408b24da5a225550b562ff
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/Sirenix/Assemblies.meta b/Assets/Plugins/Sirenix/Assemblies.meta
index fd3c90b..fc26420 100644
--- a/Assets/Plugins/Sirenix/Assemblies.meta
+++ b/Assets/Plugins/Sirenix/Assemblies.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 81983da9b04f8436fb81c6b09d73f381
+guid: 05b1eef81f23d6648992c93437892982
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/Sirenix/Assemblies/NoEditor.meta b/Assets/Plugins/Sirenix/Assemblies/NoEditor.meta
index 58c96c1..c5b7db4 100644
--- a/Assets/Plugins/Sirenix/Assemblies/NoEditor.meta
+++ b/Assets/Plugins/Sirenix/Assemblies/NoEditor.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 53eaaac0920274cb5ac6324e9403cc6c
+guid: aa3dc305dd00dad49bbc1ff3996b055d
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll b/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll
index 6c47a6d..b679ffa 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll and b/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll b/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll
index cd9c118..2de01fb 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll and b/Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor.meta b/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor.meta
index 9e128de..cefd7a7 100644
--- a/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor.meta
+++ b/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 4fd2b034e15dc427c8fd5de5c0d1e4a2
+guid: a73a691127ad93941b89586292291dab
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll b/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll
index 33362a7..a4597da 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll and b/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll b/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll
index b21ccbd..e9653bc 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll and b/Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll
index aa6a60a..c8c5e7e 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll and b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml
index 32212f2..45abca3 100644
--- a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml
+++ b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml
@@ -1234,6 +1234,11 @@
Note that this attribute does not mean "disable Odin completely for this property"; it is visual only in nature, and in fact represents an Odin drawer which calls into Unity's old property drawing system. As Odin is still ultimately responsible for arranging the drawing of the property, and since other attributes exist with a higher priority than this attribute, and it is not guaranteed that Unity will draw the property if another attribute is present to override this one.
+
+
+ Force Odin to draw this value as an IMGUI-embedded UI Toolkit Visual Element.
+
+
An attribute that enables GUI.
@@ -1382,55 +1387,55 @@
-
- FilePath is used on string properties, and provides an interface for file paths.
-
-
- The following example demonstrates how FilePath is used.
-
- public class FilePathExamples : MonoBehaviour
- {
- // By default, FilePath provides a path relative to the Unity project.
- [FilePath]
- public string UnityProjectPath;
+
+ FilePath is used on string properties, and provides an interface for file paths.
+
+
+ The following example demonstrates how FilePath is used.
+
+ public class FilePathExamples : MonoBehaviour
+ {
+ // By default, FilePath provides a path relative to the Unity project.
+ [FilePath]
+ public string UnityProjectPath;
- // It is possible to provide custom parent path. Parent paths can be relative to the Unity project, or absolute.
- [FilePath(ParentFolder = "Assets/Plugins/Sirenix")]
- public string RelativeToParentPath;
+ // It is possible to provide custom parent path. Parent paths can be relative to the Unity project, or absolute.
+ [FilePath(ParentFolder = "Assets/Plugins/Sirenix")]
+ public string RelativeToParentPath;
- // Using parent path, FilePath can also provide a path relative to a resources folder.
- [FilePath(ParentFolder = "Assets/Resources")]
- public string ResourcePath;
+ // Using parent path, FilePath can also provide a path relative to a resources folder.
+ [FilePath(ParentFolder = "Assets/Resources")]
+ public string ResourcePath;
- // Provide a comma seperated list of allowed extensions. Dots are optional.
- [FilePath(Extensions = "cs")]
- public string ScriptFiles;
+ // Provide a comma seperated list of allowed extensions. Dots are optional.
+ [FilePath(Extensions = "cs")]
+ public string ScriptFiles;
- // By setting AbsolutePath to true, the FilePath will provide an absolute path instead.
- [FilePath(AbsolutePath = true)]
- [BoxGroup("Conditions")]
- public string AbsolutePath;
+ // By setting AbsolutePath to true, the FilePath will provide an absolute path instead.
+ [FilePath(AbsolutePath = true)]
+ [BoxGroup("Conditions")]
+ public string AbsolutePath;
- // FilePath can also be configured to show an error, if the provided path is invalid.
- [FilePath(RequireValidPath = true)]
- public string ValidPath;
+ // FilePath can also be configured to show an error, if the provided path is invalid.
+ [FilePath(RequireValidPath = true)]
+ public string ValidPath;
- // By default, FilePath will enforce the use of forward slashes. It can also be configured to use backslashes instead.
- [FilePath(UseBackslashes = true)]
- public string Backslashes;
+ // By default, FilePath will enforce the use of forward slashes. It can also be configured to use backslashes instead.
+ [FilePath(UseBackslashes = true)]
+ public string Backslashes;
- // FilePath also supports member references with the $ symbol.
- [FilePath(ParentFolder = "$DynamicParent", Extensions = "$DynamicExtensions")]
- public string DynamicFilePath;
+ // FilePath also supports member references with the $ symbol.
+ [FilePath(ParentFolder = "$DynamicParent", Extensions = "$DynamicExtensions")]
+ public string DynamicFilePath;
- public string DynamicParent = "Assets/Plugin/Sirenix";
+ public string DynamicParent = "Assets/Plugin/Sirenix";
- public string DynamicExtensions = "cs, unity, jpg";
- }
-
-
-
-
+ public string DynamicExtensions = "cs, unity, jpg";
+ }
+
+
+
+
@@ -1464,6 +1469,11 @@
By default FilePath enforces forward slashes. Set UseBackslashes to true if you want backslashes instead.
+
+
+ If true the file path will include the file's extension.
+
+
Gets or sets a value indicating whether the path should be read only.
@@ -5068,6 +5078,30 @@
If true, tables are drawn with rows/columns reversed (C# initialization order).
+
+
+ A resolved string that should evaluate to a tuple (string, LabelDirection) which will be used as the label for the rows and columns of the table.
+
+
+ [TableMatrix(SquareCells = true, Labels = "GetLabel")]
+ public int[,] ChessBoard = new int[8, 8];
+
+ private (string, LabelDirection) GetLabel(int[,] array, TableAxis axis, int index)
+ {
+ var chessFileLetters = "ABCDEFGH";
+
+ switch (axis)
+ {
+ case TableAxis.Y:
+ return ((array.GetLength(1) - index).ToString(), LabelDirection.LeftToRight);
+ case TableAxis.X:
+ return (chessFileLetters[index].ToString(), LabelDirection.TopToBottom);
+ default:
+ return (index.ToString(), LabelDirection.LeftToRight);
+ }
+ }
+
+
Title is used to make a bold header above a property.
@@ -5419,6 +5453,82 @@
The message to display in the info box.
+
+
+
+ The unit of underlying value.
+
+
+
+
+ The unit displayed in the number field.
+
+
+
+
+ Name of the underlying unit.
+
+
+
+
+ Name of the unit displayed in the number field.
+
+
+
+
+ If true the number field is drawn as read-only text.
+
+
+
+
+ If true disables the option to change display unit with the right-click context menu.
+
+
+
+
+ Displays the number as a unit field.
+
+ The unit of underlying value.
+
+
+
+ Displays the number as a unit field.
+
+ The name of the underlying value.
+
+
+
+ Displays the number as a unit field.
+
+ The unit of underlying value.
+ The unit to display the value as in the inspector.
+
+
+
+ Displays the number as a unit field.
+
+ The unit of underlying value.
+ The unit to display the value as in the inspector.
+
+
+
+ Displays the number as a unit field.
+
+ The unit of underlying value.
+ The unit to display the value as in the inspector.
+
+
+
+ Displays the number as a unit field.
+
+ The unit of underlying value.
+ The unit to display the value as in the inspector.
+
+
+
+ Units for use with and .
+
+
ValidateInput is used on any property, and allows to validate input from inspector.
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll
index 4bf307f..1de7fd5 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll and b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml
index 88e54ee..3e41150 100644
--- a/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml
+++ b/Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml
@@ -259,6 +259,11 @@
+
+
+ Specify whether or not the script selector above components should be drawn.
+
+
Specify whether or not the script selector above components should be drawn.
@@ -8497,7 +8502,7 @@
Draws the menu tree selection.
-
+
Draws the Odin Editor Window.
@@ -10855,7 +10860,7 @@
Opens a new static inspector window for the given type.
-
+
Draws the Odin Editor Window.
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Reflection.Editor.dll b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Reflection.Editor.dll
index 9dd5236..138df50 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Reflection.Editor.dll and b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Reflection.Editor.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll
index 8e26fea..a2f1fa1 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll and b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll
index b46ee3e..e2ae8d0 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll and b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll
index b9ffea6..1162b12 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll and b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll differ
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml
index 02db693..253ed8d 100644
--- a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml
+++ b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml
@@ -4261,7 +4261,7 @@
Layout options.
Value assigned to the field.
-
+
Draws a field that lets the user select a path to a file.
@@ -4272,9 +4272,10 @@
Comma separated list of allowed file extensions. Use null to allow any file extension.
If true the path will be absolute. Otherwise the path will be relative to parentPath or to the Unity project directory.
If true the path will be enforced to use backslashes. Otherwise the path will be enforced to use forward slashes.
+ If true the file path will include the file's extension.
A path to a file.
-
+
Draws a field that lets the user select a path to a file.
@@ -4284,6 +4285,7 @@
Comma separated list of allowed file extensions. Use null to allow any file extension.
If true the path will be absolute. Otherwise the path will be relative to parentPath or to the Unity project directory.
If true the path will be enforced to use backslashes. Otherwise the path will be enforced to use forward slashes.
+ If true the file path will include the file's extension.
A path to a file.
@@ -4299,6 +4301,33 @@
Layout options.
A path to a file.
+
+
+ Draws a field that lets the user select a path to a file.
+
+ Label of field. Set to null for no label.
+ The current value.
+ A parent path the path needs to be relative to. Use null for Unity project directory.
+ Comma separated list of allowed file extensions. Use null to allow any file extension.
+ If true the path will be absolute. Otherwise the path will be relative to parentPath or to the Unity project directory.
+ If true the path will be enforced to use backslashes. Otherwise the path will be enforced to use forward slashes.
+ Layout options.
+ If true the file path will include the file's extension.
+ A path to a file.
+
+
+
+ Draws a field that lets the user select a path to a file.
+
+ The current value.
+ A parent path the path needs to be relative to. Use null for Unity project directory.
+ Comma separated list of allowed file extensions. Use null to allow any file extension.
+ If true the path will be absolute. Otherwise the path will be relative to parentPath or to the Unity project directory.
+ If true the path will be enforced to use backslashes. Otherwise the path will be enforced to use forward slashes.
+ Layout options.
+ If true the file path will include the file's extension.
+ A path to a file.
+
Draws a field that lets the user select a path to a file.
@@ -5291,6 +5320,691 @@
Layout options.
true when the user has changed the selection. Otherwise false.
+
+
+ Draws a decimal field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ GUIStyle for drawing the field. Set to null for default.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a double field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a double field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a double field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a double field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a double field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a double field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a double field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a float field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a float field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a float field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a float field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a float field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a float field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a float field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a int field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a int field that supports Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a int field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Value assigned to the field.
+
+
+
+ Draws a int field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a int field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a int field that supports Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a int field that supports Odin expressions.
+
+ Context for expression support.
+ Current value.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a decimal field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Position and size of the field.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions and Odin expressions.
+
+ Context for expression support.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ GUIStyle for drawing the field. Set to null for default.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Position and size of the field.
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Label of field. Set to null for no label.
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
+
+
+ Draws a long field that supports unit conversions.
+
+ Current value.
+ UnitInfo of the value and return value. Must have same UnitCategory as displayUnitInfo.
+ UnitInfo of the displayed value in the field, converted from baseUnitInfo. Must have same UnitCategory as baseUnitInfo.
+ Layout options.
+ Value assigned to the field.
+
Draws a dropdown field for enum masks.
@@ -5363,6 +6077,72 @@
Layout options.
Value assigned to the field.
+
+
+ Wrapper for Unity's ExpressionEvaluator. It was moved from UnityEditor to UnityEngine in version 2023 and
+ that *should* have been automatically fixed by the AssemblyUpdater, but that broke for one reason or another.
+
+
+
+
+ Type containing the necessary components to use C# expressions in fields.
+
+
+ // Creating and using a context with for a static type.
+ FieldExpressionContext context = FieldExpressionContext.StaticExpression(typeof(MyStaticType));
+
+ SirenixEditorFields.SmartIntField(context, ...);
+
+
+ // Creating and using a context with an instanced type.
+ FieldExpressionContext context = FieldExpressionContext.InstanceContext(myInstance);
+
+ SirenixEditorFields.SmartIntField(context, ...);
+
+
+ // Creating and using context with an InspectorProperty, for example, in a custom Odin drawer.
+ FieldExpressionContext context = property.ToFieldExpressionContext();
+
+ SirenixEditorFields.SmartIntField(context, ...);
+
+
+
+
+ Target instance for field expressions.
+
+
+
+
+ Target type for expressions.
+
+
+
+
+ Indicates if the expressions targets a static type or not.
+
+
+
+
+ Creates an expression context that targets nothing. Expressions are still possible, but no members can be accessed, and only static method can be called.
+
+ FieldExpresionContext target targets nothing.
+
+
+
+ Creates an expression context that targets the provided instance. Expression can access members of the instance.
+
+ The instance for the context to target.
+ FieldExpressionContext that targets an instance.
+ Throws if instance is null.
+
+
+
+ Creates an expression context that targets the provided type. Only static members can be accessed.
+
+ The type to target.
+ FieldExpressionContext that targets a static type.
+ Throws if type is null.
+
Collection of various editor GUI functions.
@@ -6308,6 +7088,26 @@
Ends the shakeable group.
+
+
+ Begins a shakeable group.
+
+
+
+
+ Begins a shakeable group.
+
+
+
+
+ Starts the shaking animation of a shaking group.
+
+
+
+
+ Ends the shakeable group.
+
+
Begins drawing a vertical menu list.
@@ -6427,7 +7227,7 @@
The grabbable rect.
The control ID for the sliding.
- The current value.
+ The current value.
The current value.
@@ -7509,6 +8309,271 @@
+
+
+ Categories of units. A unit value can only be converted to another of the same category.
+
+
+
+
+ Tools for converting between units, for example, converting from inches to meters.
+
+
+
+
+
+
+ Gets all UnitInfo registered, both built-in and custom.
+
+ Enumerable of both built-in and custom units.
+
+
+
+ Gets the UnitInfo for the given Units enum value.
+
+ Units enum value.
+ UnitInfo for the unit.
+ Throws for invalid unit input.
+
+
+
+ Gets the UnitInfo with the corrosponding name.
+
+ The name of the unit.
+ UnitInfo for the name.
+ Throws when no unit with the given name is found.
+
+
+
+ Finds the UnitInfo that best fits the given symbol within the given category.
+
+ The symbol to find a unit for.
+ The category to look for units within.
+ The UnitInfo that best matches the given symbol.
+ Throws when no match was found.
+
+
+
+ Gets the UnitInfo for the given Units enum value.
+
+ Units enum value.
+ The UnitInfo matching the given unit value.
+ true when a UnitInfo was found. Otherwise false.
+
+
+
+ Gets the UnitInfo with the given name.
+
+ The name of the unit.
+ The UnitInfo matching the given name.
+ true when a UnitInfo was found. Otherwise false.
+
+
+
+ Finds the UnitInfo that best fits the given symbol within the given category.
+
+ The symbol to find a unit for.
+ The category to look for units within.
+ The UnitInfo that best matches the given symbol.
+ true when a UnitInfo was found. Otherwise false.
+
+
+
+ Converts between two units. The units must be of the same category.
+
+ The value to convert. Should be in the from units.
+ The unit to convert the value from. value should be in this unit.
+ To unit to convert the value to. Must be the same category as from.
+ The value converted to to units.
+ Throws when either 'from' or 'to' units are invalid, or when the units are of different categories.
+
+
+ decimal meters = 5m;
+ decimal centimeters = ConvertUnitsFromTo(meters, Units.Meter, Units.Centimeter);
+ // centimeters = 500
+
+
+
+
+
+ Converts between two units. The units must be of the same category.
+
+ The value to convert. Should be in the fromUnitInfo units.
+ The unit to convert the value from. value should be in this unit.
+ To unit to convert the value to. Must be the same category as fromUnitInfo.
+ The value converted to toUnitInfo units.
+ Throws when either 'fromUnitInfo' or 'toUnitInfo' units are invalid, or when the units are of different categories.
+
+
+ decimal meters = 5m;
+ decimal centimeters = ConvertUnitsFromTo(meters, meterUnitInfo, centimeterUnitInfo);
+ // centimeters = 500
+
+
+
+
+
+ Converts between two units. The units must be of the same category.
+
+ The value to convert. Should be in the from units.
+ The unit to convert the value from. value should be in this unit.
+ To unit to convert the value to. Must be the same category as from.
+ The value converted to to units.
+ true when the unit was successfully converted. Otherwise false.
+
+
+ decimal meters = 5m;
+ if (TryConvertUnitsFromTo(meters, Units.Meter, Units.Centimeter, out decimal centimeters)
+ {
+ // centimeters = 500
+ }
+
+
+
+
+
+ Converts between two units. The units must be of the same category.
+
+ The value to convert. Should be in the fromUnitInfo units.
+ The unit to convert the value from. value should be in this unit.
+ To unit to convert the value to. Must be the same category as fromUnitInfo.
+ The value converted to toUnitInfo units.
+ true when the unit was successfully converted. Otherwise false.
+
+
+ decimal meters = 5m;
+ if (TryConvertUnitsFromTo(meters, meterUnitInfo, centimeterUnitInfo, out decimal centimeters))
+ {
+ // centimeters = 500
+ }
+
+
+ Throws if either fromUnitInfo or toUnitInfo is null.
+
+
+
+ Indicates whether or not a value can be converted between the given a and b units.
+
+ Unit a.
+ Unit b.
+ true if both units have the same category. Otherwise false.
+
+
+
+ Indicates whether or not a value can be converted between the given a and b units.
+
+ Unit a.
+ Unit b.
+ true if both units have the same category. Otherwise false.
+
+
+
+ Adds a custom unit to the UnitNumberUtility, that can also be used with the .
+ Call this using InitializeOnLoad or InitializeOnLoadMethod.
+
+ The name of the unit. Duplicate names are not allowed.
+ Symbols used for the unit. First value in the array will be used as the primary symbol. Atleast 1 value required. Duplicate symbols are not allowed within the same category.
+ The category of the unit. Units can only be converted to another of the same category. Custom categories are allowed.
+ The multiplier to convert the unit from the base value. For example, meters are the base unit of the distance category, therefore centimeters have a multipler of 100.
+
+ Example of adding centimeters as a custom unit.
+
+ UnitNumberUtility.AddCustomUnit("Centimeter", new string[]{ "cm" }, "Distance", 100m);
+
+
+
+
+
+ Adds a custom unit to the UnitNumberUtility, that can also be used with the .
+ Call this using InitializeOnLoad or InitializeOnLoadMethod.
+
+ The name of the unit. Duplicate names are not allowed.
+ Symbols used for the unit. First value in the array will be used as the primary symbol. Atleast 1 value required. Duplicate symbols are not allowed within the same category.
+ The category of the unit. Units can only be converted to another of the same category. Custom categories are allowed.
+ The multiplier to convert the unit from the base value. For example, meters are the base unit of the distance category, therefore centimeters have a multipler of 100.
+
+ Example of adding centimeters as a custom unit.
+
+ UnitNumberUtility.AddCustomUnit("Centimeter", new string[]{ "cm" }, UnitCategory.Distance, 100m);
+
+
+
+
+
+ Adds a custom unit to the UnitNumberUtility, that can also be used with the .
+ This overload allows for custom conversion methods but, if possible, the multiplier overloads should be prefered.
+ Call this using InitializeOnLoad or InitializeOnLoadMethod.
+
+ The name of the unit. Duplicate names are not allowed.
+ Symbols used for the unit. First value in the array will be used as the primary symbol. Atleast 1 value required. Duplicate symbols are not allowed within the same category.
+ The category of the unit. Units can only be converted to another of the same category. Custom categories are allowed.
+ Method for converting a given value of the custom unit to the base unit. For example, for centimeter, use: x => x / 100m;.
+ Method for converting a given value of the base unit to the custom unit. For example, for centimeter, use: x => x * 100m;.
+
+ Example of adding centimeters as a custom unit.
+
+ UnitNumberUtility.AddCustomUnit("Centimeter", new string[]{ "cm" }, "Distance", x => x / 100m, x = > x * 100m);
+
+
+
+
+
+ Adds a custom unit to the UnitNumberUtility, that can also be used with the .
+ This overload allows for custom conversion methods but, if possible, the multiplier overloads should be prefered.
+ Call this using InitializeOnLoad or InitializeOnLoadMethod.
+
+ The name of the unit. Duplicate names are not allowed.
+ Symbols used for the unit. First value in the array will be used as the primary symbol. Atleast 1 value required. Duplicate symbols are not allowed within the same category.
+ The category of the unit. Units can only be converted to another of the same category. Custom categories are allowed.
+ Method for converting a given value of the custom unit to the base unit. For example, for centimeter, use: x => x / 100m;.
+ Method for converting a given value of the base unit to the custom unit. For example, for centimeter, use: x => x * 100m;.
+ ///
+ Example of adding centimeters as a custom unit.
+
+ UnitNumberUtility.AddCustomUnit("Centimeter", new string[]{ "cm" }, UnitCategory.Distance, x => x / 100m, x = > x * 100m);
+
+
+
+
+
+ Object describing units, including name, symbols and how to convert it to other units.
+
+
+
+
+ Name of the unit.
+
+
+
+
+ Symbols of the unit. First symbol is considered the primary symbol.
+
+
+
+
+ The category of the unit. Units can only be converted within the same category.
+
+
+
+
+ Multiplier for converting from the base unit.
+
+
+
+
+ Custom method for converting from the base unit.
+
+
+
+
+ Custom method for converting to the base unit.
+
+
+
+
+ Indicates whether the UnitInfo should use the multiplier or the ConvertFromBase and ConvertToBase methods.
+
+
AssemblyTypeFlags is a bitmask used to filter types and assemblies related to Unity.
@@ -7620,10 +8685,10 @@
- Gets the full file path to a given assembly.
+ Gets the full file path to a given assembly's containing directory.
The assembly.
- The full file path to a given assembly, or Null if no file path was found.
+ The full file path to a given assembly's containing directory, or Null if no file path was found.
is Null.
@@ -7639,6 +8704,13 @@
The full name of the type, with or without any assembly information.
+
+
+ Get types from the current AppDomain with a specified filter.
+
+ The filters.
+ Types from the current AppDomain with the specified filters.
+
Get types from the current AppDomain with a specified filter.
diff --git a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll
index 2b633c1..7d22125 100755
Binary files a/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll and b/Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll differ
diff --git a/Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage b/Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage
index d0d5578..644a6c0 100644
Binary files a/Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage and b/Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage differ
diff --git a/Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage b/Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage
index d4d30b2..66b5846 100644
Binary files a/Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage and b/Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage differ
diff --git a/Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage b/Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage
index d82afc3..88615e8 100644
Binary files a/Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage and b/Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage differ
diff --git a/Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage b/Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage
index 4d78fcb..b243772 100644
Binary files a/Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage and b/Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage differ
diff --git a/Assets/Plugins/Sirenix/Odin Inspector.meta b/Assets/Plugins/Sirenix/Odin Inspector.meta
index 8135ca9..afb70e8 100644
--- a/Assets/Plugins/Sirenix/Odin Inspector.meta
+++ b/Assets/Plugins/Sirenix/Odin Inspector.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 4340c7ffa08434709b99aaf311aefcd6
+guid: fe4970195facd664dbd38d1cbf2100c3
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset
deleted file mode 100644
index 91f67d8..0000000
--- a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset
+++ /dev/null
@@ -1,20 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &11400000
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 1726182683, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
- m_Name: AOTGenerationConfig
- m_EditorClassIdentifier:
- automateBeforeBuilds: 0
- deleteDllAfterBuilds: 1
- AutomateForAllAOTPlatforms: 1
- automateForPlatforms: 0900000014000000
- lastScan: 0
- supportSerializedTypes: []
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset
index 5119601..eb56b98 100644
--- a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset
+++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset
@@ -12,3 +12,4 @@ MonoBehaviour:
m_Script: {fileID: -645759843, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: GeneralDrawerConfig
m_EditorClassIdentifier:
+ enableUIToolkitSupport: 1
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset
deleted file mode 100644
index 338ffe3..0000000
--- a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset
+++ /dev/null
@@ -1,15 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &11400000
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 188390376, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
- m_Name: ImportSettingsConfig
- m_EditorClassIdentifier:
- automateBeforeBuild: 1
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources.meta
similarity index 52%
rename from Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta
rename to Assets/Plugins/Sirenix/Odin Inspector/Config/Resources.meta
index 953f3e8..b732ae6 100644
--- a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta
+++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources.meta
@@ -1,8 +1,8 @@
fileFormatVersion: 2
-guid: 4df726f51b86f524c9f1d759a23e5e1e
-NativeFormatImporter:
+guid: 06633d0f71b598b41a37f0da7ed51ca7
+folderAsset: yes
+DefaultImporter:
externalObjects: {}
- mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix.meta b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix.meta
new file mode 100644
index 0000000..b9782c0
--- /dev/null
+++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6410370621ea2d64a976f4fff9645d25
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset
new file mode 100644
index 0000000..0e48b68
--- /dev/null
+++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset
@@ -0,0 +1,22 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1549551891, guid: 74721b9f0af448f5ae2e91102a1a5edd, type: 3}
+ m_Name: GlobalSerializationConfig
+ m_EditorClassIdentifier:
+ HideSerializationCautionaryMessage: 0
+ HidePrefabCautionaryMessage: 0
+ HideOdinSerializeAttributeWarningMessages: 0
+ HideNonSerializedShowInInspectorWarningMessages: 0
+ buildSerializationFormat: 0
+ editorSerializationFormat: 2
+ loggingPolicy: 0
+ errorHandlingPolicy: 0
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset.meta
similarity index 79%
rename from Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta
rename to Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset.meta
index 6b7a1c9..1f53a9f 100644
--- a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta
+++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: fc14715cef693484e91049b4d84d8406
+guid: 621781e0c1e759848997a7462862fb30
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Modules.meta b/Assets/Plugins/Sirenix/Odin Inspector/Modules.meta
index 9b4817a..40fd921 100644
--- a/Assets/Plugins/Sirenix/Odin Inspector/Modules.meta
+++ b/Assets/Plugins/Sirenix/Odin Inspector/Modules.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 27b21c1af4b544c76b31964cb02f972c
+guid: 356a67db9bc6244428bcd2aad1eefbda
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Addressables.data b/Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Addressables.data
index 7e8c948..19e9bc2 100644
Binary files a/Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Addressables.data and b/Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Addressables.data differ
diff --git a/Assets/Prefabs/Cartridge-Interactable.prefab b/Assets/Prefabs/Cartridge-Interactable.prefab
index 27130f5..cd68aba 100644
--- a/Assets/Prefabs/Cartridge-Interactable.prefab
+++ b/Assets/Prefabs/Cartridge-Interactable.prefab
@@ -52,9 +52,9 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 451147257670573576}
- m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRSocketInteractorFilter,
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -67,7 +67,7 @@ MonoBehaviour:
- m_Target: {fileID: 3774238497440674398}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -114,7 +114,7 @@ MonoBehaviour:
- m_Target: {fileID: 3774238497440674398}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -263,8 +263,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &2737193980852221215
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -424,7 +424,7 @@ MonoBehaviour:
m_InteractableHoverMeshMaterial: {fileID: 0}
m_InteractableCantHoverMeshMaterial: {fileID: 0}
m_SocketActive: 1
- m_InteractableHoverScale: 1
+ m_InteractableHoverScale: 1.1
m_RecycleDelayTime: 1
m_HoverSocketSnapping: 0
m_SocketSnappingRadius: 0.1
@@ -443,8 +443,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &6222311094814769827
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -582,9 +582,9 @@ MonoBehaviour:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 5399462717350305253}
- m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRSocketInteractorFilter,
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -597,7 +597,7 @@ MonoBehaviour:
- m_Target: {fileID: 8075794149781177989}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -642,7 +642,7 @@ MonoBehaviour:
- m_Target: {fileID: 8075794149781177989}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -687,7 +687,7 @@ MonoBehaviour:
- m_Target: {fileID: 8075794149781177989}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -775,7 +775,7 @@ MonoBehaviour:
- m_Target: {fileID: 3970644888107419690}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -827,8 +827,8 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 8069852317492100785}
- - component: {fileID: 6824668403049178182}
- component: {fileID: 3895941486496572692}
+ - component: {fileID: 6824668403049178182}
- component: {fileID: 2572485284290775642}
- component: {fileID: 4372263260855305159}
m_Layer: 0
@@ -853,20 +853,6 @@ Transform:
m_Children: []
m_Father: {fileID: 4999396423817038611}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &6824668403049178182
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2125079628016757550}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
--- !u!114 &3895941486496572692
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -927,6 +913,20 @@ MonoBehaviour:
m_SocketScaleMode: 0
m_FixedScale: {x: 1, y: 1, z: 1}
m_TargetBoundsSize: {x: 1, y: 1, z: 1}
+--- !u!114 &6824668403049178182
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2125079628016757550}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &2572485284290775642
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1227,9 +1227,9 @@ MonoBehaviour:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 629311655103251361}
- m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRSocketInteractorFilter,
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -1242,7 +1242,7 @@ MonoBehaviour:
- m_Target: {fileID: 8138633126094991808}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -1276,9 +1276,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9b475c9cc9b3efa4a8b68f22256096d6, type: 3}
m_Name:
m_EditorClassIdentifier:
- description: what to do on the next step
+ description: what to do on the step after next (forgot to remove the plug when
+ replacing the tape)
channel: {fileID: 11400000, guid: d1c3fee5a7e29bf49b295b270071caac, type: 2}
- focusStep: {fileID: 11400000, guid: f06581b6a2676704cbac6d816ed881e1, type: 2}
+ focusStep: {fileID: 11400000, guid: 8f01251921d0b0841b8ec39df16747b7, type: 2}
focusResponse:
m_PersistentCalls:
m_Calls:
@@ -1298,7 +1299,7 @@ MonoBehaviour:
- m_Target: {fileID: 8138633126094991808}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -1397,7 +1398,7 @@ MonoBehaviour:
m_InteractableHoverMeshMaterial: {fileID: 0}
m_InteractableCantHoverMeshMaterial: {fileID: 0}
m_SocketActive: 0
- m_InteractableHoverScale: 1
+ m_InteractableHoverScale: 1.1
m_RecycleDelayTime: 1
m_HoverSocketSnapping: 0
m_SocketSnappingRadius: 0.1
@@ -1416,8 +1417,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &6089482281729606390
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1596,8 +1597,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &5638705141534915174
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1759,8 +1760,8 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 9049674868906666110}
- - component: {fileID: 5399462717350305253}
- component: {fileID: 4922499876124057319}
+ - component: {fileID: 5399462717350305253}
- component: {fileID: 2699399988459098154}
- component: {fileID: 2628139407165235555}
m_Layer: 0
@@ -1785,20 +1786,6 @@ Transform:
m_Children: []
m_Father: {fileID: 4999396423817038611}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &5399462717350305253
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4630323535086491078}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
--- !u!114 &4922499876124057319
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1859,6 +1846,20 @@ MonoBehaviour:
m_SocketScaleMode: 0
m_FixedScale: {x: 1, y: 1, z: 1}
m_TargetBoundsSize: {x: 1, y: 1, z: 1}
+--- !u!114 &5399462717350305253
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4630323535086491078}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &2699399988459098154
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -2131,7 +2132,7 @@ MonoBehaviour:
- m_Target: {fileID: 2255873961767694670}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -2162,7 +2163,7 @@ MonoBehaviour:
- m_Target: {fileID: 2255873961767694670}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -2304,8 +2305,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &8304860850689742517
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -2471,8 +2472,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 00595e96a5ebe674fa2da9cf41a3c0f7, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_interactor: {fileID: 0}
- m_locked: 1
+ interactor: {fileID: 0}
+ isLocked: 1
--- !u!114 &2491457592659407591
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -2707,6 +2708,7 @@ GameObject:
- component: {fileID: 1867453558314140561}
- component: {fileID: 1843896569723968833}
- component: {fileID: 1461544611288019900}
+ - component: {fileID: 2925320785566923659}
m_Layer: 0
m_Name: FlipArm
m_TagString: Untagged
@@ -2750,7 +2752,20 @@ MonoBehaviour:
- m_Target: {fileID: 9216550692661000586}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
+ 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: 8115251326410904405}
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
+ Assembly-CSharp
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -2791,7 +2806,20 @@ MonoBehaviour:
focusStep: {fileID: 11400000, guid: 41578b197ccb3f647b4025e8dafa94df, type: 2}
focusResponse:
m_PersistentCalls:
- m_Calls: []
+ m_Calls:
+ - m_Target: {fileID: 8115251326410904405}
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
+ Assembly-CSharp
+ m_MethodName: set_IsLocked
+ 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
--- !u!114 &1461544611288019900
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -2824,9 +2852,9 @@ MonoBehaviour:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 8115251326410904405}
- m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRSocketInteractorFilter,
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -2839,7 +2867,7 @@ MonoBehaviour:
- m_Target: {fileID: 9216550692661000586}
m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractableFilter,
Assembly-CSharp
- m_MethodName: set_locked
+ m_MethodName: set_IsLocked
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
@@ -2862,6 +2890,19 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
+ - m_Target: {fileID: 455284171443377540}
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
+ Assembly-CSharp
+ m_MethodName: set_IsLocked
+ 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: 6089482281729606390}
m_TargetAssemblyTypeName: ManualInteractionEvents, Assembly-CSharp
m_MethodName: AddListeners
@@ -2874,6 +2915,37 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
+--- !u!114 &2925320785566923659
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7777264654014326042}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9b475c9cc9b3efa4a8b68f22256096d6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ description: Final Final Step
+ channel: {fileID: 11400000, guid: d1c3fee5a7e29bf49b295b270071caac, type: 2}
+ focusStep: {fileID: 11400000, guid: 81bccf987f6432e4996a24813147cbcb, type: 2}
+ focusResponse:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 455284171443377540}
+ m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Filtering.XRInteractorLockingFilter,
+ Assembly-CSharp
+ m_MethodName: set_IsLocked
+ 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
--- !u!1 &8303585072692781810
GameObject:
m_ObjectHideFlags: 0
@@ -3124,7 +3196,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
interactable: {fileID: 0}
- m_locked: 1
+ isLocked: 1
--- !u!1 &8312664021365390521
GameObject:
m_ObjectHideFlags: 0
@@ -3493,7 +3565,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
interactable: {fileID: 0}
- m_locked: 1
+ isLocked: 1
--- !u!1001 &3316605137565340392
PrefabInstance:
m_ObjectHideFlags: 0
@@ -3502,26 +3574,10 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 6554210300994472440}
m_Modifications:
- - target: {fileID: 308438123433256243, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Interpolate
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 308438123433256243, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_IsKinematic
- value: 1
- objectReference: {fileID: 0}
- target: {fileID: 421256685097331234, guid: b27049639847946ddac425fa7721eb71, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -86
objectReference: {fileID: 0}
- - target: {fileID: 1994594684026882957, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Constraints
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1994594684026882957, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Interpolate
- value: 0
- objectReference: {fileID: 0}
- target: {fileID: 2477252259466568489, guid: b27049639847946ddac425fa7721eb71, type: 3}
propertyPath: m_LocalPosition.x
value: 0
@@ -3590,38 +3646,6 @@ PrefabInstance:
propertyPath: m_Name
value: Cartridge_V3 Variant Interactable
objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Axis.x
- value: -1
- objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_UseLimits
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Limits.max
- value: 180
- objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Limits.min
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_ConnectedAnchor.x
- value: -1.8304616
- objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_ConnectedAnchor.y
- value: 1.5814999
- objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_ConnectedAnchor.z
- value: 2.3876
- objectReference: {fileID: 0}
- - target: {fileID: 3414920703166708064, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Limits.bounceMinVelocity
- value: 0
- objectReference: {fileID: 0}
- target: {fileID: 6165883632583038797, guid: b27049639847946ddac425fa7721eb71, type: 3}
propertyPath: m_Name
value: Flip_Pad_Pull_Out (Transform)
@@ -3630,18 +3654,10 @@ PrefabInstance:
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- - target: {fileID: 7798793048474624085, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_Interpolate
- value: 0
- objectReference: {fileID: 0}
- target: {fileID: 8523844120909673269, guid: b27049639847946ddac425fa7721eb71, type: 3}
propertyPath: m_MovementType
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 8523844120909673269, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_TrackRotation
- value: 0
- objectReference: {fileID: 0}
- target: {fileID: 8523844120909673269, guid: b27049639847946ddac425fa7721eb71, type: 3}
propertyPath: m_VelocityScale
value: 0.1
@@ -3658,18 +3674,10 @@ PrefabInstance:
propertyPath: m_DistanceCalculationMode
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 8523844120909673269, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_InteractionLayers.m_Bits
- value: 3
- objectReference: {fileID: 0}
- target: {fileID: 8710816239888859076, guid: b27049639847946ddac425fa7721eb71, type: 3}
propertyPath: m_DistanceCalculationMode
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 8710816239888859076, guid: b27049639847946ddac425fa7721eb71, type: 3}
- propertyPath: m_InteractionLayers.m_Bits
- value: 9
- objectReference: {fileID: 0}
- target: {fileID: 8925856456829875478, guid: b27049639847946ddac425fa7721eb71, type: 3}
propertyPath: m_MovementType
value: 2
@@ -3694,15 +3702,6 @@ PrefabInstance:
insertIndex: -1
addedObject: {fileID: 3299088965526146119}
m_AddedComponents:
- - targetCorrespondingSourceObject: {fileID: 1182665900626322174, guid: b27049639847946ddac425fa7721eb71, type: 3}
- insertIndex: -1
- addedObject: {fileID: 4595166388880541806}
- - targetCorrespondingSourceObject: {fileID: 1182665900626322174, guid: b27049639847946ddac425fa7721eb71, type: 3}
- insertIndex: -1
- addedObject: {fileID: 4845629233216095973}
- - targetCorrespondingSourceObject: {fileID: 1182665900626322174, guid: b27049639847946ddac425fa7721eb71, type: 3}
- insertIndex: -1
- addedObject: {fileID: 2244017144755370326}
- targetCorrespondingSourceObject: {fileID: 1182665900626322174, guid: b27049639847946ddac425fa7721eb71, type: 3}
insertIndex: -1
addedObject: {fileID: 3774238497440674398}
@@ -3729,6 +3728,17 @@ Transform:
m_CorrespondingSourceObject: {fileID: 3819015551208540297, guid: b27049639847946ddac425fa7721eb71, type: 3}
m_PrefabInstance: {fileID: 3316605137565340392}
m_PrefabAsset: {fileID: 0}
+--- !u!114 &2244017144755370326 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 3540580792236698558, guid: b27049639847946ddac425fa7721eb71, type: 3}
+ m_PrefabInstance: {fileID: 3316605137565340392}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4498918534765473814}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!4 &3161078843648604362 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 421256685097331234, guid: b27049639847946ddac425fa7721eb71, type: 3}
@@ -3739,206 +3749,6 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 1182665900626322174, guid: b27049639847946ddac425fa7721eb71, type: 3}
m_PrefabInstance: {fileID: 3316605137565340392}
m_PrefabAsset: {fileID: 0}
---- !u!65 &4595166388880541806
-BoxCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4498918534765473814}
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_IsTrigger: 0
- m_ProvidesContacts: 0
- m_Enabled: 1
- serializedVersion: 3
- m_Size: {x: 0.0006995102, y: 0.00040441856, z: 0.00021432019}
- m_Center: {x: -0.000004023314, y: 0.0000000016229773, z: 0.00004916335}
---- !u!54 &4845629233216095973
-Rigidbody:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4498918534765473814}
- serializedVersion: 4
- m_Mass: 1
- m_Drag: 0
- m_AngularDrag: 0.05
- m_CenterOfMass: {x: 0, y: 0, z: 0}
- m_InertiaTensor: {x: 1, y: 1, z: 1}
- m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ImplicitCom: 1
- m_ImplicitTensor: 1
- m_UseGravity: 0
- m_IsKinematic: 1
- m_Interpolate: 0
- m_Constraints: 0
- m_CollisionDetection: 0
---- !u!114 &2244017144755370326
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4498918534765473814}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_InteractionManager: {fileID: 0}
- m_Colliders: []
- m_InteractionLayerMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_InteractionLayers:
- m_Bits: 17
- m_DistanceCalculationMode: 0
- m_SelectMode: 0
- m_FocusMode: 1
- m_CustomReticle: {fileID: 0}
- m_AllowGazeInteraction: 0
- m_AllowGazeSelect: 0
- m_OverrideGazeTimeToSelect: 0
- m_GazeTimeToSelect: 0.5
- m_OverrideTimeToAutoDeselectGaze: 0
- m_TimeToAutoDeselectGaze: 3
- m_AllowGazeAssistance: 0
- m_FirstHoverEntered:
- m_PersistentCalls:
- m_Calls: []
- m_LastHoverExited:
- m_PersistentCalls:
- m_Calls: []
- m_HoverEntered:
- m_PersistentCalls:
- m_Calls: []
- m_HoverExited:
- m_PersistentCalls:
- m_Calls: []
- m_FirstSelectEntered:
- m_PersistentCalls:
- m_Calls: []
- m_LastSelectExited:
- m_PersistentCalls:
- m_Calls: []
- m_SelectEntered:
- m_PersistentCalls:
- m_Calls: []
- m_SelectExited:
- m_PersistentCalls:
- m_Calls: []
- m_FirstFocusEntered:
- m_PersistentCalls:
- m_Calls: []
- m_LastFocusExited:
- m_PersistentCalls:
- m_Calls: []
- m_FocusEntered:
- m_PersistentCalls:
- m_Calls: []
- m_FocusExited:
- m_PersistentCalls:
- m_Calls: []
- m_Activated:
- m_PersistentCalls:
- m_Calls: []
- m_Deactivated:
- m_PersistentCalls:
- m_Calls: []
- m_StartingHoverFilters: []
- m_StartingSelectFilters: []
- m_StartingInteractionStrengthFilters: []
- m_OnFirstHoverEntered:
- m_PersistentCalls:
- m_Calls: []
- m_OnLastHoverExited:
- m_PersistentCalls:
- m_Calls: []
- m_OnHoverEntered:
- m_PersistentCalls:
- m_Calls: []
- m_OnHoverExited:
- m_PersistentCalls:
- m_Calls: []
- m_OnSelectEntered:
- m_PersistentCalls:
- m_Calls: []
- m_OnSelectExited:
- m_PersistentCalls:
- m_Calls: []
- m_OnSelectCanceled:
- m_PersistentCalls:
- m_Calls: []
- m_OnActivate:
- m_PersistentCalls:
- m_Calls: []
- m_OnDeactivate:
- m_PersistentCalls:
- m_Calls: []
- m_AttachTransform: {fileID: 0}
- m_SecondaryAttachTransform: {fileID: 0}
- m_UseDynamicAttach: 0
- m_MatchAttachPosition: 1
- m_MatchAttachRotation: 1
- m_SnapToColliderVolume: 1
- m_ReinitializeDynamicAttachEverySingleGrab: 1
- m_AttachEaseInTime: 0.15
- m_MovementType: 2
- m_VelocityDamping: 1
- m_VelocityScale: 1
- m_AngularVelocityDamping: 1
- m_AngularVelocityScale: 1
- m_TrackPosition: 1
- m_SmoothPosition: 0
- m_SmoothPositionAmount: 8
- m_TightenPosition: 0.1
- m_TrackRotation: 1
- m_SmoothRotation: 0
- m_SmoothRotationAmount: 8
- m_TightenRotation: 0.1
- m_TrackScale: 0
- m_SmoothScale: 0
- m_SmoothScaleAmount: 8
- m_TightenScale: 0.1
- m_ThrowOnDetach: 0
- m_ThrowSmoothingDuration: 0.25
- m_ThrowSmoothingCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- m_ThrowVelocityScale: 1.5
- m_ThrowAngularVelocityScale: 1
- m_ForceGravityOnDetach: 0
- m_RetainTransformParent: 1
- m_AttachPointCompatibilityMode: 0
- m_StartingSingleGrabTransformers: []
- m_StartingMultipleGrabTransformers: []
- m_AddDefaultGrabTransformers: 1
--- !u!114 &3774238497440674398
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -3952,7 +3762,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
interactable: {fileID: 0}
- m_locked: 1
+ isLocked: 1
--- !u!23 &4858649905186535133 stripped
MeshRenderer:
m_CorrespondingSourceObject: {fileID: 7884561136558908469, guid: b27049639847946ddac425fa7721eb71, type: 3}
@@ -3992,7 +3802,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
interactable: {fileID: 0}
- m_locked: 1
+ isLocked: 1
--- !u!114 &6261687912628628780 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 8710816239888859076, guid: b27049639847946ddac425fa7721eb71, type: 3}
@@ -4022,7 +3832,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
interactable: {fileID: 0}
- m_locked: 1
+ isLocked: 1
--- !u!1 &8905706300752561573 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6165883632583038797, guid: b27049639847946ddac425fa7721eb71, type: 3}
@@ -4067,4 +3877,4 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
interactable: {fileID: 0}
- m_locked: 1
+ isLocked: 1
diff --git a/Assets/Scripts/Interactions/Filters/XRInteractableFilter.cs b/Assets/Scripts/Interactions/Filters/XRInteractableLockingFilter.cs
similarity index 65%
rename from Assets/Scripts/Interactions/Filters/XRInteractableFilter.cs
rename to Assets/Scripts/Interactions/Filters/XRInteractableLockingFilter.cs
index d1ab95e..9b7aaa6 100644
--- a/Assets/Scripts/Interactions/Filters/XRInteractableFilter.cs
+++ b/Assets/Scripts/Interactions/Filters/XRInteractableLockingFilter.cs
@@ -1,11 +1,12 @@
/// Traken from https://forum.unity.com/threads/how-to-prevent-interactable-from-being-selected-while-in-socket.1317246/#post-9101254
using UnityEngine.Assertions;
-
+using UnityEngine.Serialization;
+
namespace UnityEngine.XR.Interaction.Toolkit.Filtering
{
[DisallowMultipleComponent]
- public class XRInteractableFilter : MonoBehaviour, IXRHoverFilter, IXRSelectFilter
+ public class XRInteractableLockingFilter : MonoBehaviour, IXRHoverFilter, IXRSelectFilter
{
#region Fields
@@ -13,14 +14,14 @@ namespace UnityEngine.XR.Interaction.Toolkit.Filtering
[SerializeField]
private XRBaseInteractable interactable;
- [SerializeField]
- private bool m_locked = false;
+ [FormerlySerializedAs("m_locked")] [SerializeField]
+ private bool isLocked = false;
#endregion
#region Properties
- public bool locked { get => m_locked; set => m_locked = value; }
+ public bool IsLocked { get => isLocked; set => isLocked = value; }
public bool canProcess => true;
@@ -36,32 +37,34 @@ namespace UnityEngine.XR.Interaction.Toolkit.Filtering
private void OnEnable()
{
- interactable.selectEntered.AddListener(Socket_SelectEntered);
- interactable.selectExited.AddListener(Socket_SelectExited);
+ AddFilters();
}
private void OnDisable()
{
- interactable.selectEntered.RemoveListener(Socket_SelectEntered);
- interactable.selectExited.RemoveListener(Socket_SelectExited);
+ RemoveFilters();
}
- private void Socket_SelectEntered(SelectEnterEventArgs e)
+ private void AddFilters()
{
- if (interactable == null)
- return;
-
+ if (interactable == null) return;
+
// Add filter to interactable
+ interactable.startingHoverFilters.Add(this);
+ interactable.startingSelectFilters.Add(this);
+
+ // Make extra sure that the filter is added to the interactable
interactable.hoverFilters.Add(this);
interactable.selectFilters.Add(this);
}
- private void Socket_SelectExited(SelectExitEventArgs e)
+ private void RemoveFilters()
{
- if (interactable == null)
- return;
+ if (interactable == null) return;
// Remove filter from interactable
+ interactable.startingHoverFilters.Remove(this);
+ interactable.startingSelectFilters.Remove(this);
interactable.hoverFilters.Remove(this);
interactable.selectFilters.Remove(this);
}
@@ -81,7 +84,7 @@ namespace UnityEngine.XR.Interaction.Toolkit.Filtering
if (interactable == null)
return false;
- return !m_locked;
+ return !isLocked;
}
#endregion
diff --git a/Assets/Scripts/Interactions/Filters/XRInteractableFilter.cs.meta b/Assets/Scripts/Interactions/Filters/XRInteractableLockingFilter.cs.meta
similarity index 100%
rename from Assets/Scripts/Interactions/Filters/XRInteractableFilter.cs.meta
rename to Assets/Scripts/Interactions/Filters/XRInteractableLockingFilter.cs.meta
diff --git a/Assets/Scripts/Interactions/Filters/XRSocketFilter.cs b/Assets/Scripts/Interactions/Filters/XRInteractorLockingFilter.cs
similarity index 68%
rename from Assets/Scripts/Interactions/Filters/XRSocketFilter.cs
rename to Assets/Scripts/Interactions/Filters/XRInteractorLockingFilter.cs
index 92631e1..74e9c8b 100644
--- a/Assets/Scripts/Interactions/Filters/XRSocketFilter.cs
+++ b/Assets/Scripts/Interactions/Filters/XRInteractorLockingFilter.cs
@@ -1,26 +1,28 @@
/// Traken from https://forum.unity.com/threads/how-to-prevent-interactable-from-being-selected-while-in-socket.1317246/#post-9101254
using UnityEngine.Assertions;
-
+using UnityEngine.Serialization;
+
namespace UnityEngine.XR.Interaction.Toolkit.Filtering
{
[DisallowMultipleComponent]
- public class XRSocketInteractorFilter : MonoBehaviour, IXRHoverFilter, IXRSelectFilter
+ public class XRInteractorLockingFilter : MonoBehaviour, IXRHoverFilter, IXRSelectFilter
{
#region Fields
+ [FormerlySerializedAs("m_interactor")]
[Tooltip("The interactor that this filter is associated with. If none, will attempt to find on self.")]
[SerializeField]
- private XRSocketInteractor m_interactor;
+ private XRBaseInteractor interactor;
- [SerializeField]
- private bool m_locked = false;
+ [FormerlySerializedAs("locked")] [SerializeField]
+ private bool isLocked = false;
#endregion
#region Properties
- public bool locked { get => m_locked; set => m_locked = value; }
+ public bool IsLocked { get => isLocked; set => isLocked = value; }
public bool canProcess => true;
@@ -30,20 +32,20 @@ namespace UnityEngine.XR.Interaction.Toolkit.Filtering
private void Awake()
{
- m_interactor = m_interactor ? m_interactor : GetComponent();
- Assert.IsNotNull(m_interactor);
+ interactor = interactor ? interactor : GetComponent();
+ Assert.IsNotNull(interactor);
}
private void OnEnable()
{
- m_interactor.selectEntered.AddListener(Socket_SelectEntered);
- m_interactor.selectExited.AddListener(Socket_SelectExited);
+ interactor.selectEntered.AddListener(Socket_SelectEntered);
+ interactor.selectExited.AddListener(Socket_SelectExited);
}
private void OnDisable()
{
- m_interactor.selectEntered.RemoveListener(Socket_SelectEntered);
- m_interactor.selectExited.RemoveListener(Socket_SelectExited);
+ interactor.selectEntered.RemoveListener(Socket_SelectEntered);
+ interactor.selectExited.RemoveListener(Socket_SelectExited);
}
private void Socket_SelectEntered(SelectEnterEventArgs e)
@@ -80,10 +82,10 @@ namespace UnityEngine.XR.Interaction.Toolkit.Filtering
private bool Process()
{
- if (m_interactor == null)
+ if (interactor == null)
return false;
- return !m_locked;
+ return !isLocked;
}
#endregion
diff --git a/Assets/Scripts/Interactions/Filters/XRSocketFilter.cs.meta b/Assets/Scripts/Interactions/Filters/XRInteractorLockingFilter.cs.meta
similarity index 100%
rename from Assets/Scripts/Interactions/Filters/XRSocketFilter.cs.meta
rename to Assets/Scripts/Interactions/Filters/XRInteractorLockingFilter.cs.meta