diff --git a/Assets/XR/Settings/OpenXRPackageSettings.asset b/Assets/XR/Settings/OpenXRPackageSettings.asset index 40a3f50..b7d5557 100644 --- a/Assets/XR/Settings/OpenXRPackageSettings.asset +++ b/Assets/XR/Settings/OpenXRPackageSettings.asset @@ -1263,8 +1263,8 @@ MonoBehaviour: features: - {fileID: 7011443450567333355} - {fileID: -671281728444007487} - - {fileID: -901939997048047619} - - {fileID: -1734471456787174204} + - {fileID: 7055518550748799546} + - {fileID: 5091991234558418143} - {fileID: 8980318060753866109} - {fileID: -6559185765804338520} - {fileID: -4756202077021157709} @@ -1275,7 +1275,7 @@ MonoBehaviour: - {fileID: 348827886137839178} - {fileID: -7499073031166464939} - {fileID: 7666556398442971420} - - {fileID: 431653824124869831} + - {fileID: 1118878472687837173} - {fileID: 3985858319333531581} - {fileID: -6511185071715886993} - {fileID: -4363231183632145407} @@ -2387,7 +2387,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 12d3bf61b014a48a2b7564c61da9d7ad, type: 3} - m_Name: AndroidXRPerformanceMetrics Standalone + m_Name: AndroidXRPerformanceMetrics Android m_EditorClassIdentifier: Unity.XR.AndroidOpenXR::UnityEngine.XR.OpenXR.Features.Android.AndroidXRPerformanceMetrics m_enabled: 0 nameUi: Android XR Performance Metrics diff --git a/Assets/_Scenes/GameScene.unity b/Assets/_Scenes/GameScene.unity index 6f6f583..313b778 100644 --- a/Assets/_Scenes/GameScene.unity +++ b/Assets/_Scenes/GameScene.unity @@ -197,6 +197,276 @@ Transform: m_CorrespondingSourceObject: {fileID: 1031056870, guid: abc00000000005328151253783129040, type: 3} m_PrefabInstance: {fileID: 6608425} m_PrefabAsset: {fileID: 0} +--- !u!1 &27821159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 27821160} + - component: {fileID: 27821165} + - component: {fileID: 27821164} + - component: {fileID: 27821163} + - component: {fileID: 27821162} + - component: {fileID: 27821161} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &27821160 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 27821159} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 280381711} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &27821161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 27821159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.XR.Interaction.Toolkit::UnityEngine.XR.Interaction.Toolkit.Interactables.XRGrabInteractable + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + 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_AutoFindParentInteractableInHierarchy: 0 + m_ParentInteractableObject: {fileID: 0} + 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_PredictedVisualsTransform: {fileID: 0} + 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: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + 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_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + m_LimitLinearVelocity: 0 + m_LimitAngularVelocity: 0 + m_MaxLinearVelocityDelta: 10 + m_MaxAngularVelocityDelta: 20 +--- !u!54 &27821162 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 27821159} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 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!65 &27821163 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 27821159} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &27821164 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 27821159} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &27821165 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 27821159} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &47849130 GameObject: m_ObjectHideFlags: 0 @@ -2246,6 +2516,11 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 27821160} + - {fileID: 1448674920} + - {fileID: 1204258460} + - {fileID: 1908705204} + - {fileID: 2140477046} - {fileID: 797096992} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -15468,8 +15743,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.001, y: 0.001, z: 0.001} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2126332451} + m_Children: [] m_Father: {fileID: 280381711} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -642751,6 +643025,276 @@ Transform: m_CorrespondingSourceObject: {fileID: 1031056870, guid: abc00000000005328151253783129040, type: 3} m_PrefabInstance: {fileID: 1202724076} m_PrefabAsset: {fileID: 0} +--- !u!1 &1204258459 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1204258460} + - component: {fileID: 1204258465} + - component: {fileID: 1204258464} + - component: {fileID: 1204258463} + - component: {fileID: 1204258462} + - component: {fileID: 1204258461} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1204258460 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204258459} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 280381711} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1204258461 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204258459} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.XR.Interaction.Toolkit::UnityEngine.XR.Interaction.Toolkit.Interactables.XRGrabInteractable + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + 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_AutoFindParentInteractableInHierarchy: 0 + m_ParentInteractableObject: {fileID: 0} + 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_PredictedVisualsTransform: {fileID: 0} + 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: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + 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_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + m_LimitLinearVelocity: 0 + m_LimitAngularVelocity: 0 + m_MaxLinearVelocityDelta: 10 + m_MaxAngularVelocityDelta: 20 +--- !u!54 &1204258462 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204258459} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 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!65 &1204258463 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204258459} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1204258464 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204258459} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1204258465 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204258459} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &1214286071 PrefabInstance: m_ObjectHideFlags: 0 @@ -645577,6 +646121,276 @@ MeshRenderer: m_SortingOrder: 0 m_MaskInteraction: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1448674919 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1448674920} + - component: {fileID: 1448674925} + - component: {fileID: 1448674924} + - component: {fileID: 1448674923} + - component: {fileID: 1448674922} + - component: {fileID: 1448674921} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1448674920 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448674919} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 280381711} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1448674921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448674919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.XR.Interaction.Toolkit::UnityEngine.XR.Interaction.Toolkit.Interactables.XRGrabInteractable + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + 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_AutoFindParentInteractableInHierarchy: 0 + m_ParentInteractableObject: {fileID: 0} + 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_PredictedVisualsTransform: {fileID: 0} + 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: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + 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_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + m_LimitLinearVelocity: 0 + m_LimitAngularVelocity: 0 + m_MaxLinearVelocityDelta: 10 + m_MaxAngularVelocityDelta: 20 +--- !u!54 &1448674922 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448674919} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 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!65 &1448674923 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448674919} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1448674924 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448674919} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1448674925 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448674919} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1455781479 GameObject: m_ObjectHideFlags: 0 @@ -651654,6 +652468,276 @@ Transform: m_CorrespondingSourceObject: {fileID: 1030980125, guid: abc00000000018323746879171259722, type: 3} m_PrefabInstance: {fileID: 1905434811} m_PrefabAsset: {fileID: 0} +--- !u!1 &1908705203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1908705204} + - component: {fileID: 1908705209} + - component: {fileID: 1908705208} + - component: {fileID: 1908705207} + - component: {fileID: 1908705206} + - component: {fileID: 1908705205} + m_Layer: 0 + m_Name: Slot_A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1908705204 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908705203} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 280381711} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1908705205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908705203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.XR.Interaction.Toolkit::UnityEngine.XR.Interaction.Toolkit.Interactables.XRGrabInteractable + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + 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_AutoFindParentInteractableInHierarchy: 0 + m_ParentInteractableObject: {fileID: 0} + 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_PredictedVisualsTransform: {fileID: 0} + 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: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + 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_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + m_LimitLinearVelocity: 0 + m_LimitAngularVelocity: 0 + m_MaxLinearVelocityDelta: 10 + m_MaxAngularVelocityDelta: 20 +--- !u!54 &1908705206 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908705203} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 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!65 &1908705207 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908705203} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1908705208 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908705203} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1908705209 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908705203} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &1915233328 PrefabInstance: m_ObjectHideFlags: 0 @@ -654370,11 +655454,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 1030996972, guid: abc00000000006984399163773085844, type: 3} m_PrefabInstance: {fileID: 2121171018} m_PrefabAsset: {fileID: 0} ---- !u!224 &2126332451 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - m_PrefabInstance: {fileID: 8008385495802170931} - m_PrefabAsset: {fileID: 0} --- !u!1 &2130516480 GameObject: m_ObjectHideFlags: 0 @@ -654396,6 +655475,276 @@ Transform: m_CorrespondingSourceObject: {fileID: 7917674758919744168, guid: 77e7c27b2c5525e4aa8cc9f99d654486, type: 3} m_PrefabInstance: {fileID: 1063987680} m_PrefabAsset: {fileID: 0} +--- !u!1 &2140477045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2140477046} + - component: {fileID: 2140477051} + - component: {fileID: 2140477050} + - component: {fileID: 2140477049} + - component: {fileID: 2140477048} + - component: {fileID: 2140477047} + m_Layer: 0 + m_Name: Slot_B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2140477046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2140477045} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 280381711} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2140477047 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2140477045} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad34abafad169848a38072baa96cdb2, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.XR.Interaction.Toolkit::UnityEngine.XR.Interaction.Toolkit.Interactables.XRGrabInteractable + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + 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_AutoFindParentInteractableInHierarchy: 0 + m_ParentInteractableObject: {fileID: 0} + 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_PredictedVisualsTransform: {fileID: 0} + 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: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + 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_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + m_LimitLinearVelocity: 0 + m_LimitAngularVelocity: 0 + m_MaxLinearVelocityDelta: 10 + m_MaxAngularVelocityDelta: 20 +--- !u!54 &2140477048 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2140477045} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 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!65 &2140477049 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2140477045} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2140477050 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2140477045} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2140477051 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2140477045} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1001 &2147146540 PrefabInstance: m_ObjectHideFlags: 0 @@ -654729,103 +656078,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 1454865028332203444, guid: ed58ca8ce9976ef44a75e3a0d15ef0d3, type: 3} m_PrefabInstance: {fileID: 3884695503744945293} m_PrefabAsset: {fileID: 0} ---- !u!1001 &8008385495802170931 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 797096992} - m_Modifications: - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_SizeDelta.x - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6776220899950885029, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8939367226383283823, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} - propertyPath: m_Name - value: GridPanel - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c633d0cd0a7314b04830a209307e1d7f, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/_Scripts/CodingModeGridManager.cs b/Assets/_Scripts/CodingModeGridManager.cs deleted file mode 100644 index f1eedff..0000000 --- a/Assets/_Scripts/CodingModeGridManager.cs +++ /dev/null @@ -1,223 +0,0 @@ -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.InputSystem; -using System.Collections.Generic; - -public class CodingModeGridManager : MonoBehaviour -{ - [Header("スティック入力設定")] - [Tooltip("移動に使用するコントローラーのスティックのInputActionPropertyを指定してください")] - [SerializeField] private InputActionProperty thumbstickAction; - [Range(0.1f, 0.9f)] [SerializeField] private float inputThreshold = 0.5f; // スティックをどれくらい倒したら動くか - - [Header("5x5 マス目(UI Image)の登録")] - [Tooltip("ヒエラルキー上の25個のマス目のImageコンポーネントを、左上(0)から右下(24)の順番で格納してください")] - [SerializeField] private List gridCells = new List(); - - [Header("マスの配色設定")] - [SerializeField] private Color colorNormal = Color.gray; - [SerializeField] private Color colorPlayer = Color.green; // 自機(プレイヤー) - [SerializeField] private Color colorGoal = Color.yellow; // ゴール - [SerializeField] private Color colorFailZone = Color.red; // 失敗ゾーン - [SerializeField] private Color colorCheckpoint = Color.cyan; // チェックポイント - - // 内部で使用するマスの種類定義 - private enum CellType { Normal, Start, Goal, FailZone, Checkpoint } - private CellType[] cellLogicArray = new CellType[25]; - private string[] checkpointBuffTypeArray = new string[25]; // 各チェックポイントに割り振るバフ名 - - // プレイヤーの現在位置(X:0~4, Y:0~4) - private int playerX = 0; - private int playerY = 0; - - // ゴールの位置 - private int goalX = 4; - private int goalY = 4; - - // スティックの連続移動を防ぐためのフラグ(一度スティックを中央に戻さないと連続で動かない仕様) - private bool isStickNeutral = true; - - // 道中で踏んで現在蓄積されているバフのリスト - private List accumulatedBuffs = new List(); - - private void OnEnable() - { - if (thumbstickAction.action != null) thumbstickAction.action.Enable(); - } - - private void OnDisable() - { - if (thumbstickAction.action != null) thumbstickAction.action.Disable(); - } - - private void Update() - { - // ─── ★Time.timeScale = 0 でも動くスティック入力移動ロジック ─── - if (thumbstickAction.action == null) return; - - Vector2 stickInput = thumbstickAction.action.ReadValue(); - - // スティックが中央付近に戻ったらニュートラル状態を復帰 - if (stickInput.magnitude < inputThreshold) - { - isStickNeutral = true; - return; - } - - // ニュートラル状態のときのみ、倒された方向に応じて1マスだけ移動させる - if (isStickNeutral) - { - if (Mathf.Abs(stickInput.x) > Mathf.Abs(stickInput.y)) - { - // 横移動 - if (stickInput.x > inputThreshold) MovePlayer(1, 0); // 右 - else if (stickInput.x < -inputThreshold) MovePlayer(-1, 0); // 左 - } - else - { - // 縦移動 (UIの配列構造上、上に行くとYマイナス、下に行くとYプラスとなるよう計算) - if (stickInput.y > inputThreshold) MovePlayer(0, -1); // 上 - else if (stickInput.y < -inputThreshold) MovePlayer(0, 1); // 下 - } - } - } - - /// - /// 盤面を完全に初期化し、失敗ゾーンやチェックポイントをランダムに再配置する(PlayerStatusManagerから呼ばれる) - /// - public void ResetAndGenerateMinigame() - { - accumulatedBuffs.Clear(); - - // 1. 全マスを通常マスとして初期化 - for (int i = 0; i < 25; i++) - { - cellLogicArray[i] = CellType.Normal; - checkpointBuffTypeArray[i] = ""; - } - - // 2. スタートとゴールの固定配置 (左上スタート、右下ゴール) - playerX = 0; playerY = 0; - goalX = 4; goalY = 4; - cellLogicArray[GetIndex(0, 0)] = CellType.Start; - cellLogicArray[GetIndex(4, 4)] = CellType.Goal; - - // 3. 失敗ゾーン(赤マス)をランダムに5個配置 (スタート・ゴールには被らせない) - int failZonesPlaced = 0; - while (failZonesPlaced < 5) - { - int randIndex = Random.Range(1, 24); // 0と24を避ける - if (cellLogicArray[randIndex] == CellType.Normal) - { - cellLogicArray[randIndex] = CellType.FailZone; - failZonesPlaced++; - } - } - - // 4. チェックポイント(青マス)を3つのバフに対応させてランダムに3個配置 - string[] buffPool = { "AttackUp", "DefenseUp", "Heal" }; - int checkpointsPlaced = 0; - while (checkpointsPlaced < 3) - { - int randIndex = Random.Range(1, 24); - if (cellLogicArray[randIndex] == CellType.Normal) - { - cellLogicArray[randIndex] = CellType.Checkpoint; - checkpointBuffTypeArray[randIndex] = buffPool[checkpointsPlaced]; - checkpointsPlaced++; - } - } - - // 5. 視覚的(UIの色)に反映 - RedrawGridGraphic(); - } - - /// - /// プレイヤーの位置を指定された方向へ動かし、移動先のイベントを判定する - /// - private void MovePlayer(int xDirection, int yDirection) - { - int nextX = Mathf.Clamp(playerX + xDirection, 0, 4); - int nextY = Mathf.Clamp(playerY + yDirection, 0, 4); - - // 壁にぶつかって座標が変わらなかった場合は移動不発とし、連続移動防止もかけない - if (nextX == playerX && nextY == playerY) return; - - playerX = nextX; - playerY = nextY; - isStickNeutral = false; // 1回動いたのでロックをかける - - int currentIndex = GetIndex(playerX, playerY); - CellType landedCell = cellLogicArray[currentIndex]; - - Debug.Log($"👾 カーソル移動: ({playerX}, {playerY}) | マス属性: {landedCell}"); - - // 移動先のマスに応じた処理 - switch (landedCell) - { - case CellType.FailZone: - PlayerStatusManager.Instance.FailCodingMode(); // 強制終了 - return; - - case CellType.Checkpoint: - string buff = checkpointBuffTypeArray[currentIndex]; - if (!accumulatedBuffs.Contains(buff)) - { - accumulatedBuffs.Add(buff); - Debug.Log($"💚 バフコード抽出成功: [{buff}] を一時キープ中!"); - } - break; - - case CellType.Goal: - PlayerStatusManager.Instance.CompleteCodingMode(accumulatedBuffs); // クリア!バフ適用 - return; - } - - // 画面の色を最新状態に更新 - RedrawGridGraphic(); - } - - /// - /// 現在のロジック配列に基づいて、25個のUI Imageの色をまとめて上書き変更する - /// - private void RedrawGridGraphic() - { - for (int y = 0; y < 5; y++) - { - for (int x = 0; x < 5; x++) - { - int index = GetIndex(x, y); - if (gridCells[index] == null) continue; - - // 基本の色を決定 - switch (cellLogicArray[index]) - { - case CellType.Start: - case CellType.Normal: gridCells[index].color = colorNormal; break; - case CellType.FailZone: gridCells[index].color = colorFailZone; break; - case CellType.Checkpoint: gridCells[index].color = colorCheckpoint; break; - case CellType.Goal: gridCells[index].color = colorGoal; break; - } - - // チェックポイントをすでに踏み抜いている場合は、獲得済みとして通常色に戻す演出(任意) - if (cellLogicArray[index] == CellType.Checkpoint && accumulatedBuffs.Contains(checkpointBuffTypeArray[index])) - { - gridCells[index].color = colorNormal * 0.7f; // 少し暗いグレーにして区別 - } - } - } - - // 最後にプレイヤーのいるマスを「自機の色」で最優先に塗り替える - int playerIndex = GetIndex(playerX, playerY); - if (gridCells[playerIndex] != null) - { - gridCells[playerIndex].color = colorPlayer; - } - } - - // 2次元座標 (X, Y) から 1次元の配列添字 (0~24) を割り出すヘルパーメソッド - private int GetIndex(int x, int y) - { - return y * 5 + x; - } -} \ No newline at end of file diff --git a/Assets/_Scripts/CodingModeManager.cs b/Assets/_Scripts/CodingModeManager.cs new file mode 100644 index 0000000..131dba3 --- /dev/null +++ b/Assets/_Scripts/CodingModeManager.cs @@ -0,0 +1,88 @@ +using UnityEngine; +using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; + +public class CodingModeManager : MonoBehaviour +{ + [Header("ソケットスロットの設定")] + [Tooltip("台座に配置した Slot_A の XRSocketInteractor を指定してください")] + [SerializeField] private XRSocketInteractor socketA; + [Tooltip("台座に配置した Slot_B の XRSocketInteractor を指定してください")] + [SerializeField] private XRSocketInteractor socketB; + + private void OnEnable() + { + // ソケットにオブジェクトが「ハメ込まれた瞬間」のイベントを登録 + if (socketA != null) socketA.selectEntered.AddListener(OnSocketAEntered); + if (socketB != null) socketB.selectEntered.AddListener(OnSocketBEntered); + } + + private void OnDisable() + { + // イベントの登録解除 + if (socketA != null) socketA.selectEntered.RemoveListener(OnSocketAEntered); + if (socketB != null) socketB.selectEntered.RemoveListener(OnSocketBEntered); + } + + // Slot_A に何かがハメ込まれた時のコールバック + private void OnSocketAEntered(SelectEnterEventArgs args) + { + CheckPuzzleCompletion(); + } + + // Slot_B に何かがハメ込まれた時のコールバック + private void OnSocketBEntered(SelectEnterEventArgs args) + { + CheckPuzzleCompletion(); + } + + private void CheckPuzzleCompletion() + { + if (socketA == null || socketB == null) return; + + // 両方のソケットがオブジェクトを保持(hasSelection)しているか確認 + if (socketA.hasSelection && socketB.hasSelection) + { + // ハメ込まれているオブジェクト(Interactable)を取得 + var objA = socketA.firstInteractableSelected; + var objB = socketB.firstInteractableSelected; + + if (objA != null && objB != null) + { + // オブジェクトの名前から、どのバフ四角形かを判別する文字列を抽出 + string buff1 = GetBuffNameFromObjectName(objA.transform.gameObject.name); + string buff2 = GetBuffNameFromObjectName(objB.transform.gameObject.name); + + Debug.Log($"💻 パズル連結完了! 検出されたコンボ: [{buff1}] + [{buff2}]"); + + ClearSockets(); + + // PlayerStatusManagerにバフを適用させ、時間停止を解除してプレイ画面に戻る + if (PlayerStatusManager.Instance != null) + { + //PlayerStatusManager.Instance.ApplyBuffsAndResume(buff1, buff2); + } + } + } + } + private string GetBuffNameFromObjectName(string objName) + { + if (objName.Contains("AttackUp")) return "AttackUp"; + if (objName.Contains("DefenseUp")) return "DefenseUp"; + if (objName.Contains("Heal")) return "Heal"; + return "Unknown"; + } + + private void ClearSockets() + { + + if (socketA.firstInteractableSelected != null) + { + socketA.firstInteractableSelected.transform.position = transform.position + (transform.forward * -0.2f); + } + if (socketB.firstInteractableSelected != null) + { + socketB.firstInteractableSelected.transform.position = transform.position + (transform.forward * -0.2f) + (transform.right * 0.1f); + } + } +} \ No newline at end of file diff --git a/Assets/_Scripts/CodingModeGridManager.cs.meta b/Assets/_Scripts/CodingModeManager.cs.meta similarity index 100% rename from Assets/_Scripts/CodingModeGridManager.cs.meta rename to Assets/_Scripts/CodingModeManager.cs.meta diff --git a/Assets/_Scripts/PlayerStatusManager.cs b/Assets/_Scripts/PlayerStatusManager.cs index 6402f72..8cbcaa3 100644 --- a/Assets/_Scripts/PlayerStatusManager.cs +++ b/Assets/_Scripts/PlayerStatusManager.cs @@ -1,7 +1,11 @@ using UnityEngine; using UnityEngine.InputSystem; -using System.Collections.Generic; +using System.Collections; +using System.Collections.Generic; // Listを使うために追加 +/// +/// プレイヤーの共通ゲージ、時間停止(Codingモード)、UI、および各種バフの制限時間を管理するクラス +/// public class PlayerStatusManager : MonoBehaviour { public static PlayerStatusManager Instance { get; private set; } @@ -15,23 +19,35 @@ public class PlayerStatusManager : MonoBehaviour [SerializeField] private float currentGauge = 0f; [Header("表示UI設定")] - [Tooltip("ミニゲーム画面をまとめている親オブジェクトを指定してください")] + [Tooltip("画面全体を追従させる親オブジェクト(World Space Canvasや3D台座)を指定してください")] [SerializeField] private GameObject codingModeUI; [Header("バフパラメータ設定")] + [Tooltip("攻撃力UP・防御力UPの持続時間 (秒)")] [SerializeField] private float buffDuration = 10f; + [Tooltip("攻撃力UP時のダメージ倍率 (例: 1.5倍)")] [SerializeField] private float attackBuffMultiplier = 1.5f; + [Tooltip("防御力UP時の被ダメージ軽減率 (例: 0.5ならダメージ50%カット)")] [SerializeField] private float defenseBuffMultiplier = 0.5f; + [Tooltip("HP回復バフ発動時の回復量")] [SerializeField] private float hpHealAmount = 30f; + // 各バフの残り時間を管理するタイマー(0より大きければバフ有効) private float attackBuffTimer = 0f; private float defenseBuffTimer = 0f; + + // 現在Codingモード(時間停止中)かどうかのフラグ private bool isCodingMode = false; + // 【新設】一時停止させた敵のアニメーターを記憶しておくためのリスト + private List pausedAnimators = new List(); + + #region プロパティ public bool IsAttackBuffActive => attackBuffTimer > 0f; public bool IsDefenseBuffActive => defenseBuffTimer > 0f; public float CurrentAttackMultiplier => IsAttackBuffActive ? attackBuffMultiplier : 1.0f; public float CurrentDefenseMultiplier => IsDefenseBuffActive ? defenseBuffMultiplier : 1.0f; + #endregion private void Awake() { @@ -60,6 +76,7 @@ public class PlayerStatusManager : MonoBehaviour { CheckComboInput(); + // ゲームプレイ中(時間停止中でないとき)のみ、バフのタイマーを減算する if (!isCodingMode) { UpdateBuffTimers(); @@ -91,51 +108,59 @@ public class PlayerStatusManager : MonoBehaviour } } + /// + /// Codingモード(時間停止)を開始する + /// private void StartCodingMode() { isCodingMode = true; - Time.timeScale = 0f; // 時間停止 - if (codingModeUI != null) + // 【変更】Time.timeScaleは弄らず、シーン内のAnimatorを検索して停止させる + Animator[] allAnimators = FindObjectsByType(FindObjectsSortMode.None); + pausedAnimators.Clear(); + + foreach (var anim in allAnimators) { - codingModeUI.SetActive(true); - // ★新設:画面が開いた瞬間にミニゲームの盤面をランダム生成してリセットする - CodingModeGridManager gridManager = codingModeUI.GetComponentInChildren(); - if (gridManager != null) gridManager.ResetAndGenerateMinigame(); + if (anim == null) continue; + + // ⚠️ プレイヤー自身のアニメーターまで止めないように除外する + // (このマネージャーがプレイヤーオブジェクトについている、またはPlayerタグを想定) + if (anim.gameObject == this.gameObject || anim.CompareTag("Player")) continue; + + // 元のスピードに関わらず、0に上書きしてアニメーションを完全停止 + anim.speed = 0f; + pausedAnimators.Add(anim); // 記憶リストに保存 } + + if (codingModeUI != null) codingModeUI.SetActive(true); + Debug.Log("⏳ Codingモード:敵の時間(アニメーション)を停止しました。"); } /// - /// ★ミニゲームクリア時:獲得したバフリストをすべて適用して現実世界を再開する + /// バフを適用してゲームを再開する /// - public void CompleteCodingMode(List earnedBuffs) + public void ApplyBuffsAndResume(string buff1, string buff2) { - Debug.Log("💻 【ハッキング成功】 ミニゲームクリア!現実世界に復帰します。"); - - foreach (string buff in earnedBuffs) + // 1. 選択された2つのバフをそれぞれ発動 + ActivateBuffByName(buff1); + ActivateBuffByName(buff2); + + // 【変更】2. 停止させていた敵のアニメーターを元の速度(1.0f)に戻す + foreach (var anim in pausedAnimators) { - ActivateBuffByName(buff); + if (anim != null) + { + anim.speed = 1f; + } } + pausedAnimators.Clear(); // リストを空にする - ResumeGameplay(); - } - - /// - /// ★ミニゲーム失敗時:失敗ゾーン接触による強制終了処理(バフなしで復帰) - /// - public void FailCodingMode() - { - Debug.Log("🚨 【ハッキング強制失敗】 失敗ゾーンに接触しました。バフなしで復帰します。"); - ResumeGameplay(); - } - - private void ResumeGameplay() - { + // 3. Codingモードの終了処理 isCodingMode = false; - Time.timeScale = 1f; // 時間再開 if (codingModeUI != null) codingModeUI.SetActive(false); - currentGauge = 0f; // ゲージ消費 + currentGauge = 0f; // ゲージを消費 + Debug.Log("▶ Codingモード終了:敵の時間を再開しました。"); } private void ActivateBuffByName(string buffName) @@ -144,19 +169,29 @@ public class PlayerStatusManager : MonoBehaviour { case "AttackUp": attackBuffTimer = buffDuration; - Debug.Log($"⚔️ 攻撃力UPが適用されました。効果時間: {buffDuration}秒"); + Debug.Log($"⚔️ 攻撃力UPバフ発動! 倍率: {attackBuffMultiplier} / 効果時間: {buffDuration}秒"); break; + case "DefenseUp": defenseBuffTimer = buffDuration; - Debug.Log($"🛡️ 防御力UPが適用されました。効果時間: {buffDuration}秒"); + Debug.Log($"🛡️ 防御力UPバフ発動! 被ダメージ倍率: {defenseBuffMultiplier} / 効果時間: {buffDuration}秒"); break; + case "Heal": - Debug.Log($"💚 HP回復が適用されました。回復量: {hpHealAmount}"); - // ※将来の拡張:PlayerHealth.Instance.Heal(hpHealAmount); + ExecuteHeal(); + break; + + default: + Debug.LogWarning($"未定義のバフ名が検出されました: {buffName}"); break; } } + private void ExecuteHeal() + { + Debug.Log($"💚 HP回復バフ発動! 回復量: {hpHealAmount}"); + } + private void UpdateBuffTimers() { if (attackBuffTimer > 0f)