diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful.meta new file mode 100644 index 00000000..b8411d3e --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d5b139fdda4b6946a021442b91c77b7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art.meta new file mode 100644 index 00000000..365036a6 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3509bf80039c0af4d88826577a5f6c86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials.meta new file mode 100644 index 00000000..23236a72 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d246cfabe1b2417499e48220d2b5b400 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Goal.mat b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Goal.mat similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Goal.mat rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Goal.mat diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Goal.mat.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Goal.mat.meta new file mode 100644 index 00000000..11a8b9d9 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Goal.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 45d6c34a3f99ec944b0243317fcdc7df +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Player.mat b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Player.mat similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Player.mat rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Player.mat diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Player.mat.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Player.mat.meta new file mode 100644 index 00000000..1c40eed4 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Art/Materials/Player.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a0ba204976de2245b519b7de564ad6f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes.meta new file mode 100644 index 00000000..f4ddff2c --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 12cf6e8d5fc96cc4189c024275c7dfec +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/PhysicsStateful.unity b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/PhysicsStateful.unity new file mode 100644 index 00000000..48fff0e6 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/PhysicsStateful.unity @@ -0,0 +1,296 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &398666136 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 398666138} + - component: {fileID: 398666139} + m_Layer: 0 + m_Name: PhysicsStateful + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &398666138 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 398666136} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.58, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &398666139 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 398666136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 23b2cccdf71661f40accd9b1f324713d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &695140326 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3122259494672607327, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_Name + value: Common + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5183454963766305521, guid: 4f7249f35d9553d4491ca18ff93478a3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4f7249f35d9553d4491ca18ff93478a3, type: 3} +--- !u!1 &1345535641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1345535643} + - component: {fileID: 1345535642} + m_Layer: 0 + m_Name: Version02_DOTSSubScene + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1345535642 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1345535641} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45a335734b1572644a6a5d09d87adc65, type: 3} + m_Name: + m_EditorClassIdentifier: + _SceneAsset: {fileID: 102900000, guid: 3328aec108e5b9143bb5701d9e3cfbad, type: 3} + _HierarchyColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + AutoLoadScene: 1 + _SceneGUID: + Value: + x: 485130803 + y: 1100701312 + z: 3506920371 + w: 3670000617 +--- !u!4 &1345535643 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1345535641} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 695140326} + - {fileID: 398666138} + - {fileID: 1345535643} diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/PhysicsStateful.unity.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/PhysicsStateful.unity.meta new file mode 100644 index 00000000..4ac51935 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/PhysicsStateful.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7a0a1b337cce6d348ab18d5c882daf81 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes.meta new file mode 100644 index 00000000..cd32dc0a --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 047a04e9cc45e3749b4e613a4ff51c84 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes/PhysicsStateful_SubScene.unity b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes/PhysicsStateful_SubScene.unity new file mode 100644 index 00000000..31e3dd78 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes/PhysicsStateful_SubScene.unity @@ -0,0 +1,1862 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &695140326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 695140328} + - component: {fileID: 695140327} + m_Layer: 0 + m_Name: --------- Instances ---------- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &695140327 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695140326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e4bd367752a957644a1419fad5d66606, type: 3} + m_Name: + m_EditorClassIdentifier: + DividerType: 3 +--- !u!4 &695140328 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695140326} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &790268993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 790268996} + - component: {fileID: 790268995} + - component: {fileID: 790268994} + m_Layer: 0 + m_Name: PhysicsSettings (Optional GameObject) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &790268994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790268993} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d30974bf68d61043b1572197db94cdc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SimulationType: 1 + m_Gravity: + x: -0 + y: -9.81 + z: -0 + m_SolverIterationCount: 4 + m_EnableSolverStabilizationHeuristic: 0 + m_MultiThreaded: 1 + m_SynchronizeCollisionWorld: 0 +--- !u!114 &790268995 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790268993} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bb54ea4f67dc17342bcd49954c53502d, type: 3} + m_Name: + m_EditorClassIdentifier: + DrawColliders: 0 + DrawColliderEdges: 0 + DrawColliderAabbs: 0 + DrawBroadphase: 0 + DrawMassProperties: 0 + DrawContacts: 0 + DrawCollisionEvents: 1 + DrawTriggerEvents: 1 + DrawJoints: 0 +--- !u!4 &790268996 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790268993} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &849686364 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 849686366} + - component: {fileID: 849686365} + m_Layer: 0 + m_Name: PlayerStatefulSystemAuthoring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &849686365 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849686364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0205455030904d65be3ad739f3aaeecc, type: 3} + m_Name: + m_EditorClassIdentifier: + IsEnabled: 1 +--- !u!4 &849686366 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849686364} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &898877788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 898877793} + - component: {fileID: 898877792} + - component: {fileID: 898877791} + - component: {fileID: 898877790} + - component: {fileID: 898877789} + m_Layer: 0 + m_Name: Goal (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!114 &898877789 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898877788} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccea9ea98e38942e0b0938c27ed1903e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MotionType: 0 + m_Smoothing: 0 + m_Mass: 1 + m_LinearDamping: 0.01 + m_AngularDamping: 0.05 + m_InitialLinearVelocity: + x: 0 + y: 0 + z: 0 + m_InitialAngularVelocity: + x: 0 + y: 0 + z: 0 + m_GravityFactor: 1 + m_OverrideDefaultMassDistribution: 0 + m_CenterOfMass: + x: 0 + y: 0 + z: 0 + m_Orientation: + Value: + x: 0 + y: 0 + z: 0 + RotationOrder: 4 + m_InertiaTensor: + x: 0.4 + y: 0.4 + z: 0.4 + m_WorldIndex: 0 + m_CustomTags: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 +--- !u!114 &898877790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898877788} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b275e5f92732148048d7b77e264ac30e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShapeType: 0 + m_PrimitiveCenter: + x: 0 + y: 0 + z: 0 + m_PrimitiveSize: + x: 1 + y: 1 + z: 1 + m_PrimitiveOrientation: + Value: + x: -0 + y: 0 + z: 0 + RotationOrder: 4 + m_Capsule: + Height: 1 + Radius: 0.5 + Axis: 2 + m_Cylinder: + Height: 1 + Radius: 0.5 + Axis: 2 + m_CylinderSideCount: 20 + m_SphereRadius: 0.5 + m_MinimumSkinnedVertexWeight: 0.1 + m_ConvexHullGenerationParameters: + m_SimplificationTolerance: 0.015 + m_BevelRadius: 0.05 + m_MinimumAngle: 2.5000002 + m_CustomMesh: {fileID: 0} + m_ForceUnique: 0 + m_Material: + m_SupportsTemplate: 1 + m_Template: {fileID: 0} + m_CollisionResponse: + m_Override: 0 + m_Value: 3 + m_Friction: + m_Override: 0 + m_Value: + Value: 0.5 + CombineMode: 0 + m_Restitution: + m_Override: 0 + m_Value: + Value: 0 + CombineMode: 2 + m_BelongsToCategories: + m_Override: 0 + m_Value: + Category00: 0 + Category01: 1 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CollidesWithCategories: + m_Override: 0 + m_Value: + Category00: 1 + Category01: 0 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CustomMaterialTags: + m_Override: 0 + m_Value: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 + m_SerializedVersion: 1 + m_SerializedVersion: 1 +--- !u!23 &898877791 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898877788} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 45d6c34a3f99ec944b0243317fcdc7df, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &898877792 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898877788} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &898877793 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 898877788} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 5, y: 1, z: 3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1161847861 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1161847866} + - component: {fileID: 1161847865} + - component: {fileID: 1161847864} + - component: {fileID: 1161847863} + - component: {fileID: 1161847862} + m_Layer: 0 + m_Name: Goal (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!114 &1161847862 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161847861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccea9ea98e38942e0b0938c27ed1903e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MotionType: 0 + m_Smoothing: 0 + m_Mass: 1 + m_LinearDamping: 0.01 + m_AngularDamping: 0.05 + m_InitialLinearVelocity: + x: 0 + y: 0 + z: 0 + m_InitialAngularVelocity: + x: 0 + y: 0 + z: 0 + m_GravityFactor: 1 + m_OverrideDefaultMassDistribution: 0 + m_CenterOfMass: + x: 0 + y: 0 + z: 0 + m_Orientation: + Value: + x: 0 + y: 0 + z: 0 + RotationOrder: 4 + m_InertiaTensor: + x: 0.4 + y: 0.4 + z: 0.4 + m_WorldIndex: 0 + m_CustomTags: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 +--- !u!114 &1161847863 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161847861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b275e5f92732148048d7b77e264ac30e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShapeType: 0 + m_PrimitiveCenter: + x: 0 + y: 0 + z: 0 + m_PrimitiveSize: + x: 1 + y: 1 + z: 1 + m_PrimitiveOrientation: + Value: + x: -0 + y: 0 + z: 0 + RotationOrder: 4 + m_Capsule: + Height: 1 + Radius: 0.5 + Axis: 2 + m_Cylinder: + Height: 1 + Radius: 0.5 + Axis: 2 + m_CylinderSideCount: 20 + m_SphereRadius: 0.5 + m_MinimumSkinnedVertexWeight: 0.1 + m_ConvexHullGenerationParameters: + m_SimplificationTolerance: 0.015 + m_BevelRadius: 0.05 + m_MinimumAngle: 2.5000002 + m_CustomMesh: {fileID: 0} + m_ForceUnique: 0 + m_Material: + m_SupportsTemplate: 1 + m_Template: {fileID: 0} + m_CollisionResponse: + m_Override: 0 + m_Value: 3 + m_Friction: + m_Override: 0 + m_Value: + Value: 0.5 + CombineMode: 0 + m_Restitution: + m_Override: 0 + m_Value: + Value: 0 + CombineMode: 2 + m_BelongsToCategories: + m_Override: 0 + m_Value: + Category00: 0 + Category01: 1 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CollidesWithCategories: + m_Override: 0 + m_Value: + Category00: 1 + Category01: 0 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CustomMaterialTags: + m_Override: 0 + m_Value: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 + m_SerializedVersion: 1 + m_SerializedVersion: 1 +--- !u!23 &1161847864 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161847861} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 45d6c34a3f99ec944b0243317fcdc7df, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1161847865 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161847861} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1161847866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161847861} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1.93, z: 0} + m_LocalScale: {x: 5, y: 1, z: 3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1411481330 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1411481335} + - component: {fileID: 1411481334} + - component: {fileID: 1411481333} + - component: {fileID: 1411481332} + - component: {fileID: 1411481331} + m_Layer: 0 + m_Name: Goal (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!114 &1411481331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411481330} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccea9ea98e38942e0b0938c27ed1903e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MotionType: 0 + m_Smoothing: 0 + m_Mass: 1 + m_LinearDamping: 0.01 + m_AngularDamping: 0.05 + m_InitialLinearVelocity: + x: 0 + y: 0 + z: 0 + m_InitialAngularVelocity: + x: 0 + y: 0 + z: 0 + m_GravityFactor: 1 + m_OverrideDefaultMassDistribution: 0 + m_CenterOfMass: + x: 0 + y: 0 + z: 0 + m_Orientation: + Value: + x: 0 + y: 0 + z: 0 + RotationOrder: 4 + m_InertiaTensor: + x: 0.4 + y: 0.4 + z: 0.4 + m_WorldIndex: 0 + m_CustomTags: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 +--- !u!114 &1411481332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411481330} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b275e5f92732148048d7b77e264ac30e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShapeType: 0 + m_PrimitiveCenter: + x: 0 + y: 0 + z: 0 + m_PrimitiveSize: + x: 1 + y: 1 + z: 1 + m_PrimitiveOrientation: + Value: + x: -0 + y: 0 + z: 0 + RotationOrder: 4 + m_Capsule: + Height: 1 + Radius: 0.5 + Axis: 2 + m_Cylinder: + Height: 1 + Radius: 0.5 + Axis: 2 + m_CylinderSideCount: 20 + m_SphereRadius: 0.5 + m_MinimumSkinnedVertexWeight: 0.1 + m_ConvexHullGenerationParameters: + m_SimplificationTolerance: 0.015 + m_BevelRadius: 0.05 + m_MinimumAngle: 2.5000002 + m_CustomMesh: {fileID: 0} + m_ForceUnique: 0 + m_Material: + m_SupportsTemplate: 1 + m_Template: {fileID: 0} + m_CollisionResponse: + m_Override: 0 + m_Value: 3 + m_Friction: + m_Override: 0 + m_Value: + Value: 0.5 + CombineMode: 0 + m_Restitution: + m_Override: 0 + m_Value: + Value: 0 + CombineMode: 2 + m_BelongsToCategories: + m_Override: 0 + m_Value: + Category00: 0 + Category01: 1 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CollidesWithCategories: + m_Override: 0 + m_Value: + Category00: 1 + Category01: 0 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CustomMaterialTags: + m_Override: 0 + m_Value: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 + m_SerializedVersion: 1 + m_SerializedVersion: 1 +--- !u!23 &1411481333 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411481330} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 45d6c34a3f99ec944b0243317fcdc7df, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1411481334 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411481330} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1411481335 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411481330} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -5.16, z: 0} + m_LocalScale: {x: 5, y: 1, z: 3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1465897714 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1465897715} + - component: {fileID: 1465897716} + m_Layer: 0 + m_Name: ---------- Systems ----------- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1465897715 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1465897714} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1465897716 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1465897714} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e4bd367752a957644a1419fad5d66606, type: 3} + m_Name: + m_EditorClassIdentifier: + DividerType: 2 +--- !u!1 &1592965419 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1592965420} + - component: {fileID: 1592965421} + m_Layer: 0 + m_Name: ------- SharedSystems -------- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1592965420 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1592965419} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1592965421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1592965419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e4bd367752a957644a1419fad5d66606, type: 3} + m_Name: + m_EditorClassIdentifier: + DividerType: 1 +--- !u!1 &1829895568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1829895574} + - component: {fileID: 1829895573} + - component: {fileID: 1829895572} + - component: {fileID: 1829895571} + - component: {fileID: 1829895570} + - component: {fileID: 1829895569} + m_Layer: 0 + m_Name: Player (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1829895569 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829895568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccea9ea98e38942e0b0938c27ed1903e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MotionType: 0 + m_Smoothing: 0 + m_Mass: 1 + m_LinearDamping: 0.01 + m_AngularDamping: 0.05 + m_InitialLinearVelocity: + x: 0 + y: 0 + z: 0 + m_InitialAngularVelocity: + x: 0 + y: 0 + z: 0 + m_GravityFactor: 1 + m_OverrideDefaultMassDistribution: 0 + m_CenterOfMass: + x: 0 + y: 0 + z: 0 + m_Orientation: + Value: + x: 0 + y: 0 + z: 0 + RotationOrder: 4 + m_InertiaTensor: + x: 0.4 + y: 0.4 + z: 0.4 + m_WorldIndex: 0 + m_CustomTags: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 +--- !u!114 &1829895570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829895568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b275e5f92732148048d7b77e264ac30e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShapeType: 0 + m_PrimitiveCenter: + x: 0 + y: 0 + z: 0 + m_PrimitiveSize: + x: 1 + y: 1 + z: 1 + m_PrimitiveOrientation: + Value: + x: -0 + y: 0 + z: 0 + RotationOrder: 4 + m_Capsule: + Height: 1 + Radius: 0.5 + Axis: 2 + m_Cylinder: + Height: 1 + Radius: 0.5 + Axis: 2 + m_CylinderSideCount: 20 + m_SphereRadius: 0.5 + m_MinimumSkinnedVertexWeight: 0.1 + m_ConvexHullGenerationParameters: + m_SimplificationTolerance: 0.015 + m_BevelRadius: 0.05 + m_MinimumAngle: 2.5000002 + m_CustomMesh: {fileID: 0} + m_ForceUnique: 0 + m_Material: + m_SupportsTemplate: 1 + m_Template: {fileID: 0} + m_CollisionResponse: + m_Override: 0 + m_Value: 3 + m_Friction: + m_Override: 0 + m_Value: + Value: 0.5 + CombineMode: 0 + m_Restitution: + m_Override: 0 + m_Value: + Value: 0 + CombineMode: 2 + m_BelongsToCategories: + m_Override: 0 + m_Value: + Category00: 1 + Category01: 0 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CollidesWithCategories: + m_Override: 0 + m_Value: + Category00: 0 + Category01: 1 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CustomMaterialTags: + m_Override: 0 + m_Value: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 + m_SerializedVersion: 1 + m_SerializedVersion: 1 +--- !u!114 &1829895571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829895568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71242163ba188c04b8b904b94ff79242, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!23 &1829895572 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829895568} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5a0ba204976de2245b519b7de564ad6f, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1829895573 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829895568} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1829895574 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829895568} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 3.86, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1985194063 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1985194065} + - component: {fileID: 1985194066} + m_Layer: 0 + m_Name: PhysicsStatefulSystemAuthoring + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1985194065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985194063} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1985194066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985194063} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5149e7c33e004e17b4a13ed04aac3bb0, type: 3} + m_Name: + m_EditorClassIdentifier: + CollisionSystemIsEnabled: 1 + TriggerSystemIsEnabled: 1 + DebugSystemIsEnabled: 0 +--- !u!1 &2025006374 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2025006380} + - component: {fileID: 2025006379} + - component: {fileID: 2025006378} + - component: {fileID: 2025006377} + - component: {fileID: 2025006376} + - component: {fileID: 2025006375} + m_Layer: 0 + m_Name: Player (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2025006375 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2025006374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccea9ea98e38942e0b0938c27ed1903e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MotionType: 0 + m_Smoothing: 0 + m_Mass: 1 + m_LinearDamping: 0.01 + m_AngularDamping: 0.05 + m_InitialLinearVelocity: + x: 0 + y: 0 + z: 0 + m_InitialAngularVelocity: + x: 0 + y: 0 + z: 0 + m_GravityFactor: 1 + m_OverrideDefaultMassDistribution: 0 + m_CenterOfMass: + x: 0 + y: 0 + z: 0 + m_Orientation: + Value: + x: 0 + y: 0 + z: 0 + RotationOrder: 4 + m_InertiaTensor: + x: 0.4 + y: 0.4 + z: 0.4 + m_WorldIndex: 0 + m_CustomTags: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 +--- !u!114 &2025006376 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2025006374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b275e5f92732148048d7b77e264ac30e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShapeType: 0 + m_PrimitiveCenter: + x: 0 + y: 0 + z: 0 + m_PrimitiveSize: + x: 1 + y: 1 + z: 1 + m_PrimitiveOrientation: + Value: + x: -0 + y: 0 + z: 0 + RotationOrder: 4 + m_Capsule: + Height: 1 + Radius: 0.5 + Axis: 2 + m_Cylinder: + Height: 1 + Radius: 0.5 + Axis: 2 + m_CylinderSideCount: 20 + m_SphereRadius: 0.5 + m_MinimumSkinnedVertexWeight: 0.1 + m_ConvexHullGenerationParameters: + m_SimplificationTolerance: 0.015 + m_BevelRadius: 0.05 + m_MinimumAngle: 2.5000002 + m_CustomMesh: {fileID: 0} + m_ForceUnique: 0 + m_Material: + m_SupportsTemplate: 1 + m_Template: {fileID: 0} + m_CollisionResponse: + m_Override: 0 + m_Value: 3 + m_Friction: + m_Override: 0 + m_Value: + Value: 0.5 + CombineMode: 0 + m_Restitution: + m_Override: 0 + m_Value: + Value: 0 + CombineMode: 2 + m_BelongsToCategories: + m_Override: 0 + m_Value: + Category00: 1 + Category01: 0 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CollidesWithCategories: + m_Override: 0 + m_Value: + Category00: 0 + Category01: 1 + Category02: 0 + Category03: 0 + Category04: 0 + Category05: 0 + Category06: 0 + Category07: 0 + Category08: 0 + Category09: 0 + Category10: 0 + Category11: 0 + Category12: 0 + Category13: 0 + Category14: 0 + Category15: 0 + Category16: 0 + Category17: 0 + Category18: 0 + Category19: 0 + Category20: 0 + Category21: 0 + Category22: 0 + Category23: 0 + Category24: 0 + Category25: 0 + Category26: 0 + Category27: 0 + Category28: 0 + Category29: 0 + Category30: 0 + Category31: 0 + m_CustomMaterialTags: + m_Override: 0 + m_Value: + Tag00: 0 + Tag01: 0 + Tag02: 0 + Tag03: 0 + Tag04: 0 + Tag05: 0 + Tag06: 0 + Tag07: 0 + m_SerializedVersion: 1 + m_SerializedVersion: 1 +--- !u!114 &2025006377 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2025006374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71242163ba188c04b8b904b94ff79242, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!23 &2025006378 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2025006374} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5a0ba204976de2245b519b7de564ad6f, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2025006379 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2025006374} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2025006380 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2025006374} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 3.86, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1592965420} + - {fileID: 1985194065} + - {fileID: 790268996} + - {fileID: 1465897715} + - {fileID: 849686366} + - {fileID: 695140328} + - {fileID: 2025006380} + - {fileID: 1829895574} + - {fileID: 898877793} + - {fileID: 1161847866} + - {fileID: 1411481335} diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes/PhysicsStateful_SubScene.unity.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes/PhysicsStateful_SubScene.unity.meta new file mode 100644 index 00000000..fe2eb26d --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scenes/SubScenes/PhysicsStateful_SubScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3328aec108e5b9143bb5701d9e3cfbad +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts.meta new file mode 100644 index 00000000..369e7a40 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b771af9495eb91468faad8df1f4090a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime.meta new file mode 100644 index 00000000..ec8835b8 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5aa06e30bb9bc11409fb3ddb70a44873 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PhysicsStateful.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PhysicsStateful.cs new file mode 100644 index 00000000..ade7010b --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PhysicsStateful.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace RMC.DOTS.Demos.PhysicsStateful +{ + public class PhysicsStateful : MonoBehaviour + { + // Initialization -------------------------------- + protected void Start() + { + Debug.Log("StatefulPhysics Demo. Watch the console."); + } + } +} \ No newline at end of file diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PhysicsStateful.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PhysicsStateful.cs.meta new file mode 100644 index 00000000..ceca048a --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PhysicsStateful.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 23b2cccdf71661f40accd9b1f324713d +timeCreated: 1666791825 \ No newline at end of file diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystem.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystem.cs new file mode 100644 index 00000000..857d50de --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystem.cs @@ -0,0 +1,121 @@ +using Unity.Collections; +using Unity.Entities; +using Unity.Physics.Systems; +using UnityEngine; + +namespace Unity.Physics.PhysicsStateful +{ + [UpdateInGroup(typeof(PhysicsSystemGroup))] + [UpdateAfter(typeof(StatefulTriggerEventSystem))] + public partial struct PlayerStatefulSystem : ISystem + { + private EntityQuery _statefulTriggerEventEntityQuery; + private EntityQuery _statefulCollisionEventEntityQuery; + + public void OnCreate(ref SystemState state) + { + + // SamR + state.RequireForUpdate(); + + // Existing + _statefulTriggerEventEntityQuery = state.GetEntityQuery(typeof(StatefulTriggerEvent)); + _statefulCollisionEventEntityQuery = state.GetEntityQuery(typeof(StatefulCollisionEvent)); + } + + + public void OnUpdate(ref SystemState state) + { + + foreach (var entity in _statefulTriggerEventEntityQuery.ToEntityArray(Allocator.Temp)) + { + var buffer = state.EntityManager.GetBuffer(entity); + + for (int bufferIndex = 0; bufferIndex < buffer.Length; bufferIndex++) + { + var collisionEvent = buffer[bufferIndex]; + + switch (collisionEvent.State) + { + case StatefulEventState.Enter: + // Comment in/out to see the difference + LogStatefulTriggerEvent(ref state, entity, bufferIndex, collisionEvent); + break; + case StatefulEventState.Stay: + // Comment in/out to see the difference + //LogTrigger(ref state, entity, i, collisionEvent); + break; + case StatefulEventState.Exit: + // Comment in/out to see the difference + LogStatefulTriggerEvent(ref state, entity, bufferIndex, collisionEvent); + break; + } + } + } + + foreach (var entity in _statefulCollisionEventEntityQuery.ToEntityArray(Allocator.Temp)) + { + var buffer = state.EntityManager.GetBuffer(entity); + + for (int bufferIndex = 0; bufferIndex < buffer.Length; bufferIndex++) + { + var collisionEvent = buffer[bufferIndex]; + + switch (collisionEvent.State) + { + case StatefulEventState.Enter: + // Comment in/out to see the difference + //LogStatefulCollisionEvent(ref state, entity, i, collisionEvent); + break; + case StatefulEventState.Stay: + // Comment in/out to see the difference + //LogStatefulCollisionEvent(ref state, entity, i, collisionEvent); + break; + case StatefulEventState.Exit: + // Comment in/out to see the difference + //LogStatefulCollisionEvent(ref state, entity, i, collisionEvent); + break; + } + } + } + + } + private void LogStatefulTriggerEvent(ref SystemState state, Entity entity, int bufferIndex, + StatefulTriggerEvent collisionEvent) + { + LogEvent( + collisionEvent.GetType().Name, + entity, + bufferIndex, + Time.frameCount, + state.EntityManager.GetName(collisionEvent.EntityA), + state.EntityManager.GetName(collisionEvent.EntityB), + collisionEvent.State.ToString() + ); + } + + private void LogStatefulCollisionEvent(ref SystemState state, Entity entity, int bufferIndex, + StatefulCollisionEvent collisionEvent) + { + LogEvent( + collisionEvent.GetType().Name, + entity, + bufferIndex, + Time.frameCount, + state.EntityManager.GetName(collisionEvent.EntityA), + state.EntityManager.GetName(collisionEvent.EntityB), + collisionEvent.State.ToString() + ); + } + + private void LogEvent(string eventName, Entity entity, + int bufferIndex, int frameCount, string entityAName, string entityBName, string stateName) + { + Debug.Log($"{eventName}.{stateName}" + + $"\t{entityAName} with {entityBName}'" + + $"\t ... [e : {entity}, i : {bufferIndex}, f : {frameCount}]" + + $"\n\n" + ); + } + } +} diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystem.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystem.cs.meta new file mode 100644 index 00000000..12fb4967 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystem.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d1046b47048a426489156b195943c06f +timeCreated: 1716049974 \ No newline at end of file diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystemAuthoring.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystemAuthoring.cs new file mode 100644 index 00000000..bc98a8b5 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystemAuthoring.cs @@ -0,0 +1,25 @@ +using Unity.Entities; +using UnityEngine; + +namespace Unity.Physics.PhysicsStateful +{ + public class PlayerStatefulSystemAuthoring : MonoBehaviour + { + [SerializeField] + public bool IsEnabled = true; + + public struct PlayerStatefulSystemAuthoringIsEnabledTag : IComponentData {} + + public class PlayerStatefulSystemAuthoringBaker : Baker + { + public override void Bake(PlayerStatefulSystemAuthoring authoring) + { + if (authoring.IsEnabled) + { + Entity inputEntity = GetEntity(TransformUsageFlags.Dynamic); + AddComponent(inputEntity); + } + } + } + } +} diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystemAuthoring.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystemAuthoring.cs.meta new file mode 100644 index 00000000..d610f983 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/PlayerStatefulSystemAuthoring.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0205455030904d65be3ad739f3aaeecc +timeCreated: 1716050030 \ No newline at end of file diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/RMC.DOTS.Demos.PhysicsStateful.Runtime.asmdef b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/RMC.DOTS.Demos.PhysicsStateful.Runtime.asmdef new file mode 100644 index 00000000..855960ee --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/RMC.DOTS.Demos.PhysicsStateful.Runtime.asmdef @@ -0,0 +1,27 @@ +{ + "name": "RMC.DOTS.Demos.PhysicsStateful.Runtime", + "rootNamespace": "", + "references": [ + "GUID:d28bf24cef16ed84cb4cb180b9c77ac3", + "GUID:330ce21097b4d554fa95a74295bc3b8f", + "GUID:2665a8d13d1b3f18800f46e256720795", + "GUID:734d92eba21c94caba915361bd5ac177", + "GUID:63afb046c8423dd448ae7aba042ea63d", + "GUID:a5baed0c9693541a5bd947d336ec7659", + "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:d8b63aba1907145bea998dd612889d6b", + "GUID:5f3cf485eb0554709a8abbeace890c86", + "GUID:8819f35a0fc84499b990e90a4ca1911f", + "GUID:75469ad4d38634e559750d17036d5f7c", + "GUID:f2381d29563bc3c49ab35691478f3482" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/RMC.DOTS.Demos.PhysicsStateful.Runtime.asmdef.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/RMC.DOTS.Demos.PhysicsStateful.Runtime.asmdef.meta new file mode 100644 index 00000000..b412b284 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsStateful/Scripts/Runtime/RMC.DOTS.Demos.PhysicsStateful.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: db388b35e4bf2b8409750d6c024ca4eb +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Goal.mat b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Goal.mat new file mode 100644 index 00000000..84e3f11f --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Goal.mat @@ -0,0 +1,133 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 32 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Goal + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.72156864, g: 0.72156864, b: 1, a: 1} + - _Color: {r: 0.72156864, g: 0.72156864, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &4273482156878478107 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Goal.mat.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Goal.mat.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Goal.mat.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Goal.mat.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Player.mat b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Player.mat new file mode 100644 index 00000000..b89e9027 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Player.mat @@ -0,0 +1,133 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 32 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Player + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.9882353, g: 1, b: 0.29411766, a: 1} + - _Color: {r: 0.9882353, g: 1, b: 0.29411763, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &4273482156878478107 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Player.mat.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Player.mat.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Art/Materials/Player.mat.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Art/Materials/Player.mat.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/ReadMe.txt b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/ReadMe.txt similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/ReadMe.txt rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/ReadMe.txt diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/ReadMe.txt.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/ReadMe.txt.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/ReadMe.txt.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/ReadMe.txt.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/PhysicsTrigger.unity b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/PhysicsTrigger.unity similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/PhysicsTrigger.unity rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/PhysicsTrigger.unity diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/PhysicsTrigger.unity.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/PhysicsTrigger.unity.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/PhysicsTrigger.unity.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/PhysicsTrigger.unity.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/SubScenes.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/SubScenes.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/SubScenes.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/SubScenes.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/SubScenes/PhysicsTrigger_SubScene.unity b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/SubScenes/PhysicsTrigger_SubScene.unity similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/SubScenes/PhysicsTrigger_SubScene.unity rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/SubScenes/PhysicsTrigger_SubScene.unity diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/SubScenes/PhysicsTrigger_SubScene.unity.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/SubScenes/PhysicsTrigger_SubScene.unity.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scenes/SubScenes/PhysicsTrigger_SubScene.unity.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scenes/SubScenes/PhysicsTrigger_SubScene.unity.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PhysicsTrigger.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PhysicsTrigger.cs similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PhysicsTrigger.cs rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PhysicsTrigger.cs diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PhysicsTrigger.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PhysicsTrigger.cs.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PhysicsTrigger.cs.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PhysicsTrigger.cs.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs similarity index 85% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs index 76f998a5..8e51a694 100644 --- a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs @@ -5,7 +5,7 @@ using Unity.Entities; using UnityEngine; -namespace RMC.DOTS.Demos.PhysicsTrigger +namespace RMC.DOTS.Demos.PhysicsTriggerOLD { [BurstCompile] [UpdateInGroup(typeof(PauseableSystemGroup))] @@ -19,13 +19,15 @@ public void OnCreate(ref SystemState state) } + [BurstCompile] public void OnUpdate(ref SystemState state) { foreach (var (playerTag, playerWasTriggeredTag, entity) in SystemAPI.Query, RefRO>().WithEntityAccess()) { - Debug.Log($"The player hit a goal.\n\n"); + + Debug.Log($"The player hit a goal.\n\n and " + entity); } } } diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystem.cs.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerPhysicsTriggerSystemAuthoring.cs.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs similarity index 97% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs index 639f6815..0527ad31 100644 --- a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs @@ -6,7 +6,7 @@ using Unity.Entities; using UnityEngine; -namespace RMC.DOTS.Demos.PhysicsTrigger +namespace RMC.DOTS.Demos.PhysicsTriggerOLD { [UpdateInGroup(typeof(UnpauseableSystemGroup))] public partial struct PlayerWasTriggeredSystem : ISystem diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredSystem.cs.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs similarity index 67% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs index cb2a39a8..175ec08f 100644 --- a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs @@ -1,6 +1,6 @@ using Unity.Entities; -namespace RMC.DOTS.Demos.PhysicsTrigger +namespace RMC.DOTS.Demos.PhysicsTriggerOLD { public struct PlayerWasTriggeredTag : IComponentData {} } \ No newline at end of file diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/PlayerPhysicsTrigger/PlayerWasTriggeredTag.cs.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef.meta similarity index 100% rename from RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTrigger/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef.meta rename to RMC DOTS/Samples~/3. RMC DOTS Library Demos/Demos/PhysicsTriggerOLD/Scripts/Runtime/RMC.DOTS.Demos.PhysicsTrigger.Runtime.asmdef.meta diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics.meta new file mode 100644 index 00000000..635e9ea6 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6af7576b1b3237d4599cd9089b3f4938 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics/PhysicsCategoryNames.asset b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics/PhysicsCategoryNames.asset new file mode 100644 index 00000000..8638cd18 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics/PhysicsCategoryNames.asset @@ -0,0 +1,47 @@ +%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: 11500000, guid: cea4b49c4d6784a3291bea84d8086c8e, type: 3} + m_Name: PhysicsCategoryNames + m_EditorClassIdentifier: + m_CategoryNames: + - Player + - Goal + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - diff --git a/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics/PhysicsCategoryNames.asset.meta b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics/PhysicsCategoryNames.asset.meta new file mode 100644 index 00000000..38ebb544 --- /dev/null +++ b/RMC DOTS/Samples~/3. RMC DOTS Library Demos/Shared/Physics/PhysicsCategoryNames.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5396ed73422e1004bbc5f485683fc991 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/FrameCount/FrameCountSystem.cs b/RMC DOTS/Scripts/Runtime/Systems/FrameCount/FrameCountSystem.cs index 03ad058b..a8515819 100644 --- a/RMC DOTS/Scripts/Runtime/Systems/FrameCount/FrameCountSystem.cs +++ b/RMC DOTS/Scripts/Runtime/Systems/FrameCount/FrameCountSystem.cs @@ -5,6 +5,11 @@ namespace RMC.DOTS.Systems.FrameCount /// /// Debugging system that makes the "FrameCountSystem.FrameCount" static value easily /// available from any scope. + /// + /// TODO: I thought framecount was not easily accessible in some systems, but perhaps it is with Unity's Time.frameCount? + /// If that's ALWAYS available, then consider to remove this custom system entirely + /// + /// /// [UpdateInGroup(typeof(PresentationSystemGroup), OrderLast = true), BurstCompile] public partial struct FrameCountSystem : ISystem diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful.meta new file mode 100644 index 00000000..bc33899d --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 268c7cf2fc43b0a40b5d550114376ca5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/IStatefulSimulationEvent.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/IStatefulSimulationEvent.cs new file mode 100644 index 00000000..d4e5299b --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/IStatefulSimulationEvent.cs @@ -0,0 +1,28 @@ +using Unity.Entities; + +namespace Unity.Physics.PhysicsStateful +{ + /// + /// Describes an event state. + /// Event state is set to: + /// 0) Undefined, when the state is unknown or not needed + /// 1) Enter, when 2 bodies are interacting in the current frame, but they did not interact the previous frame + /// 2) Stay, when 2 bodies are interacting in the current frame, and they also interacted in the previous frame + /// 3) Exit, when 2 bodies are not interacting in the current frame, but they did interact in the previous frame + /// + public enum StatefulEventState : byte + { + Undefined, + Enter, + Stay, + Exit + } + + /// + /// Extends ISimulationEvent with extra . + /// + public interface IStatefulSimulationEvent : IBufferElementData, ISimulationEvent + { + public StatefulEventState State { get; set; } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/IStatefulSimulationEvent.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/IStatefulSimulationEvent.cs.meta new file mode 100644 index 00000000..e56ed106 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/IStatefulSimulationEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e100faf55b51faa468144f2819db39df +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision.meta new file mode 100644 index 00000000..556fbdad --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 687fcd6b5a17485eb5f413880bd0049e +timeCreated: 1716044465 \ No newline at end of file diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventAuthoring.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventAuthoring.cs new file mode 100644 index 00000000..ace88bca --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventAuthoring.cs @@ -0,0 +1,110 @@ +using Unity.Entities; +using Unity.Mathematics; +using UnityEngine; +using Unity.Assertions; + +namespace Unity.Physics.PhysicsStateful +{ + public class StatefulCollisionEventAuthoring : MonoBehaviour + { + [Tooltip("If selected, the details will be calculated in collision event dynamic buffer of this entity")] + public bool CalculateDetails = false; + + class Baker : Baker + { + public override void Bake(StatefulCollisionEventAuthoring authoring) + { + var entity = GetEntity(TransformUsageFlags.Dynamic); + if (authoring.CalculateDetails) + { + AddComponent(entity, new StatefulCollisionEventDetails + { + CalculateDetails = authoring.CalculateDetails + }); + } + AddBuffer(entity); + } + } + } + + public struct StatefulCollisionEventDetails : IComponentData + { + public bool CalculateDetails; + } + + // Collision Event that can be stored inside a DynamicBuffer + public struct StatefulCollisionEvent : IBufferElementData, IStatefulSimulationEvent + { + public Entity EntityA { get; set; } + public Entity EntityB { get; set; } + public int BodyIndexA { get; set; } + public int BodyIndexB { get; set; } + public ColliderKey ColliderKeyA { get; set; } + public ColliderKey ColliderKeyB { get; set; } + public StatefulEventState State { get; set; } + public float3 Normal; + + // Only if CalculateDetails is checked on PhysicsCollisionEventBuffer of selected entity, + // this field will have valid value, otherwise it will be zero initialized + internal Details CollisionDetails; + + public StatefulCollisionEvent(CollisionEvent collisionEvent) + { + EntityA = collisionEvent.EntityA; + EntityB = collisionEvent.EntityB; + BodyIndexA = collisionEvent.BodyIndexA; + BodyIndexB = collisionEvent.BodyIndexB; + ColliderKeyA = collisionEvent.ColliderKeyA; + ColliderKeyB = collisionEvent.ColliderKeyB; + State = default; + Normal = collisionEvent.Normal; + CollisionDetails = default; + } + + // This struct describes additional, optional, details about collision of 2 bodies + public struct Details + { + internal bool IsValid; + + // If 1, then it is a vertex collision + // If 2, then it is an edge collision + // If 3 or more, then it is a face collision + public int NumberOfContactPoints; + + // Estimated impulse applied + public float EstimatedImpulse; + // Average contact point position + public float3 AverageContactPointPosition; + + public Details(int numContactPoints, float estimatedImpulse, float3 averageContactPosition) + { + IsValid = (0 < numContactPoints); // Should we add a max check? + NumberOfContactPoints = numContactPoints; + EstimatedImpulse = estimatedImpulse; + AverageContactPointPosition = averageContactPosition; + } + } + + // Returns the other entity in EntityPair, if provided with other one + public Entity GetOtherEntity(Entity entity) + { + Assert.IsTrue((entity == EntityA) || (entity == EntityB)); + return entity == EntityA ? EntityB : EntityA; + } + + // Returns the normal pointing from passed entity to the other one in pair + public float3 GetNormalFrom(Entity entity) + { + Assert.IsTrue((entity == EntityA) || (entity == EntityB)); + return math.select(-Normal, Normal, entity == EntityB); + } + + public bool TryGetDetails(out Details details) + { + details = CollisionDetails; + return CollisionDetails.IsValid; + } + + public int CompareTo(StatefulCollisionEvent other) => ISimulationEventUtilities.CompareEvents(this, other); + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventAuthoring.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventAuthoring.cs.meta new file mode 100644 index 00000000..b5004d67 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventAuthoring.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a444254202384e4ea55b4fe97742fbf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventSystem.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventSystem.cs new file mode 100644 index 00000000..ae1b74f2 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventSystem.cs @@ -0,0 +1,81 @@ +using Unity.Burst; +using Unity.Entities; +using Unity.Jobs; +using Unity.Physics.Systems; + +namespace Unity.Physics.PhysicsStateful +{ + /// + /// This system converts stream of CollisionEvents to StatefulCollisionEvents that can be stored in a Dynamic Buffer. + /// In order for this conversion, it is required to: + /// 1) Use the 'Collide Raise Collision Events' option of the 'Collision Response' property on a component, and + /// 2) Add a component to that entity (and select if details should be calculated or not) + /// or, if this is desired on a Character Controller: + /// 1) Tick the 'Raise Collision Events' flag on the component. + /// + [UpdateInGroup(typeof(PhysicsSystemGroup))] + [UpdateAfter(typeof(PhysicsSimulationGroup))] + public partial struct StatefulCollisionEventSystem : ISystem + { + StatefulSimulationEventBuffers events; + + // Component that does nothing. Made in order to use a generic job. See OnUpdate() method for details. + internal struct DummyExcludeComponent : IComponentData {}; + + [BurstCompile] + public void OnCreate(ref SystemState state) + { + + // SamR + state.RequireForUpdate(); + + // Existing + events = new StatefulSimulationEventBuffers(); + events.AllocateBuffers(); + + state.RequireForUpdate(); + state.RequireForUpdate(); + state.RequireForUpdate(); + } + + [BurstCompile] + public void OnDestroy(ref SystemState state) + { + events.Dispose(); + } + + [BurstCompile] + public void OnUpdate(ref SystemState state) + { + new ClearCollisionEventDynamicBufferJob().ScheduleParallel(); + + events.SwapBuffers(); + + var currentEvents = events.Current; + var previousEvents = events.Previous; + + state.Dependency = new CollectCollisionEventsWithDetailsJob + { + CollisionEvents = currentEvents, + PhysicsWorld = SystemAPI.GetSingleton().PhysicsWorld, + EventDetails = SystemAPI.GetComponentLookup(true) + }.Schedule(SystemAPI.GetSingleton(), state.Dependency); + + state.Dependency = new ConvertEventStreamToDynamicBufferJob + { + CurrentEvents = currentEvents, + PreviousEvents = previousEvents, + EventLookup = SystemAPI.GetBufferLookup(), + + UseExcludeComponent = false, + EventExcludeLookup = SystemAPI.GetComponentLookup(true) + }.Schedule(state.Dependency); + } + + [BurstCompile] + public partial struct ClearCollisionEventDynamicBufferJob : IJobEntity + { + public void Execute(ref DynamicBuffer eventBuffer) => eventBuffer.Clear(); + } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventSystem.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventSystem.cs.meta new file mode 100644 index 00000000..db1d93a2 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulCollision/StatefulCollisionEventSystem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d339c554bebf50a448846ba97a681b2c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug.meta new file mode 100644 index 00000000..1260c4bc --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b072d227e01043bda07fcff9973098e7 +timeCreated: 1716044524 \ No newline at end of file diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulDebugSystem.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulDebugSystem.cs new file mode 100644 index 00000000..1f424232 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulDebugSystem.cs @@ -0,0 +1,97 @@ +using RMC.DOTS.Systems.FrameCount; +using Unity.Collections; +using Unity.Entities; +using Unity.Physics.Systems; +using UnityEngine; + +namespace Unity.Physics.PhysicsStateful +{ + [UpdateInGroup(typeof(PhysicsSystemGroup))] + [UpdateAfter(typeof(StatefulTriggerEventSystem))] + public partial struct PhysicsStatefulDebugSystem : ISystem + { + private EntityQuery _statefulTriggerEventEntityQuery; + private EntityQuery _statefulCollisionEventEntityQuery; + + public void OnCreate(ref SystemState state) + { + + // SamR + state.RequireForUpdate(); + + // Existing + _statefulTriggerEventEntityQuery = state.GetEntityQuery(typeof(StatefulTriggerEvent)); + _statefulCollisionEventEntityQuery = state.GetEntityQuery(typeof(StatefulCollisionEvent)); + } + + + public void OnUpdate(ref SystemState state) + { + + foreach (var entity in _statefulTriggerEventEntityQuery.ToEntityArray(Allocator.Temp)) + { + var buffer = state.EntityManager.GetBuffer(entity); + + for (int i = 0; i < buffer.Length; i++) + { + var collisionEvent = buffer[i]; + + switch (collisionEvent.State) + { + case StatefulEventState.Enter: + DebugStatefulTriggerEvent(ref state, entity, i, collisionEvent); + break; + case StatefulEventState.Stay: + DebugStatefulTriggerEvent(ref state, entity, i, collisionEvent); + break; + case StatefulEventState.Exit: + DebugStatefulTriggerEvent(ref state, entity, i, collisionEvent); + break; + } + } + } + + foreach (var entity in _statefulCollisionEventEntityQuery.ToEntityArray(Allocator.Temp)) + { + var buffer = state.EntityManager.GetBuffer(entity); + + for (int i = 0; i < buffer.Length; i++) + { + var collisionEvent = buffer[i]; + + switch (collisionEvent.State) + { + case StatefulEventState.Enter: + DebugStatefulCollisionEvent(ref state, entity, i, collisionEvent); + break; + case StatefulEventState.Stay: + DebugStatefulCollisionEvent(ref state, entity, i, collisionEvent); + break; + case StatefulEventState.Exit: + DebugStatefulCollisionEvent(ref state, entity, i, collisionEvent); + break; + } + } + } + + } + + private void DebugStatefulTriggerEvent(ref SystemState state, Entity entity, int i, + StatefulTriggerEvent collisionEvent) + { + Debug.Log($"({collisionEvent.GetType().Name}) E: {entity}, i : {i}, f : {Time.frameCount}, " + + $"A : {state.EntityManager.GetName(collisionEvent.EntityA)}, " + + $"B : {state.EntityManager.GetName(collisionEvent.EntityB)}, " + + $"S : {collisionEvent.State}"); + } + + private void DebugStatefulCollisionEvent(ref SystemState state, Entity entity, int i, + StatefulCollisionEvent collisionEvent) + { + Debug.Log($"({collisionEvent.GetType().Name}) E: {entity}, i : {i}, f : {Time.frameCount}, " + + $"A : {state.EntityManager.GetName(collisionEvent.EntityA)}, " + + $"B : {state.EntityManager.GetName(collisionEvent.EntityB)}, " + + $"S : {collisionEvent.State}"); + } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulDebugSystem.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulDebugSystem.cs.meta new file mode 100644 index 00000000..fe35d22c --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulDebugSystem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 660d34db043e3fa47b1c6b19c3f46016 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulSystemAuthoring.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulSystemAuthoring.cs new file mode 100644 index 00000000..d2c8015c --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulSystemAuthoring.cs @@ -0,0 +1,56 @@ +using RMC.DOTS.Systems.FrameCount; +using Unity.Entities; +using UnityEngine; + +namespace Unity.Physics.PhysicsStateful +{ + /// + /// Place this MonoBehaviour on a GameObject in the Scene + /// To enable the + /// To enable the + /// To enable the + /// + /// + public class PhysicsStatefulSystemAuthoring : MonoBehaviour + { + [Header("Enable Systems (Required)")] + [SerializeField] + public bool CollisionSystemIsEnabled = true; + + [SerializeField] + public bool TriggerSystemIsEnabled = true; + + [Header("Enable Debugging (Optional)")] + [SerializeField] + public bool DebugSystemIsEnabled = true; + + public struct CollisionSystemIsEnabledIsEnabledTag : IComponentData {} + public struct TriggerSystemIsEnabledIsEnabledTag : IComponentData {} + public struct DebugSystemIsEnabledIsEnabledTag : IComponentData {} + + public class PhysicsStatefulDebugSystemAuthoringBaker : Baker + { + public override void Bake(PhysicsStatefulSystemAuthoring authoring) + { + if (authoring.CollisionSystemIsEnabled || authoring.TriggerSystemIsEnabled || authoring.DebugSystemIsEnabled) + { + Entity inputEntity = GetEntity(TransformUsageFlags.Dynamic); + + //Turn system on + if (authoring.CollisionSystemIsEnabled) + { + AddComponent(inputEntity); + } + if (authoring.TriggerSystemIsEnabled) + { + AddComponent(inputEntity); + } + if (authoring.DebugSystemIsEnabled) + { + AddComponent(inputEntity); + } + } + } + } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulSystemAuthoring.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulSystemAuthoring.cs.meta new file mode 100644 index 00000000..2896a5c3 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulDebug/PhysicsStatefulSystemAuthoring.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5149e7c33e004e17b4a13ed04aac3bb0 +timeCreated: 1716044643 \ No newline at end of file diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger.meta new file mode 100644 index 00000000..f8d8f162 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 779103b310044b7bbb2c7b0386ed32b0 +timeCreated: 1716044496 \ No newline at end of file diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEvent.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEvent.cs new file mode 100644 index 00000000..13ca6683 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEvent.cs @@ -0,0 +1,37 @@ +using Unity.Entities; +using Unity.Assertions; + +namespace Unity.Physics.PhysicsStateful +{ + // Trigger Event that can be stored inside a DynamicBuffer + public struct StatefulTriggerEvent : IBufferElementData, IStatefulSimulationEvent + { + public Entity EntityA { get; set; } + public Entity EntityB { get; set; } + public int BodyIndexA { get; set; } + public int BodyIndexB { get; set; } + public ColliderKey ColliderKeyA { get; set; } + public ColliderKey ColliderKeyB { get; set; } + public StatefulEventState State { get; set; } + + public StatefulTriggerEvent(TriggerEvent triggerEvent) + { + EntityA = triggerEvent.EntityA; + EntityB = triggerEvent.EntityB; + BodyIndexA = triggerEvent.BodyIndexA; + BodyIndexB = triggerEvent.BodyIndexB; + ColliderKeyA = triggerEvent.ColliderKeyA; + ColliderKeyB = triggerEvent.ColliderKeyB; + State = default; + } + + // Returns other entity in EntityPair, if provided with one + public Entity GetOtherEntity(Entity entity) + { + Assert.IsTrue((entity == EntityA) || (entity == EntityB)); + return (entity == EntityA) ? EntityB : EntityA; + } + + public int CompareTo(StatefulTriggerEvent other) => ISimulationEventUtilities.CompareEvents(this, other); + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEvent.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEvent.cs.meta new file mode 100644 index 00000000..ffb91cfb --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eb9ce26c52da6894082f5d028050c388 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventAuthoring.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventAuthoring.cs new file mode 100644 index 00000000..f2423eb4 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventAuthoring.cs @@ -0,0 +1,23 @@ +using Unity.Entities; +using UnityEngine; + +namespace Unity.Physics.PhysicsStateful +{ + // If this component is added to an entity, trigger events won't be added to a dynamic buffer + // of that entity by the StatefulTriggerEventBufferSystem. This component is by default added to + // CharacterController entity, so that CharacterControllerSystem can add trigger events to + // CharacterController on its own, without StatefulTriggerEventBufferSystem interference. + public struct StatefulTriggerEventExclude : IComponentData {} + + public class StatefulTriggerEventAuthoring : MonoBehaviour + { + class Baker : Baker + { + public override void Bake(StatefulTriggerEventAuthoring authoring) + { + var entity = GetEntity(TransformUsageFlags.Dynamic); + AddBuffer(entity); + } + } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventAuthoring.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventAuthoring.cs.meta new file mode 100644 index 00000000..8066ddd5 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventAuthoring.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 71242163ba188c04b8b904b94ff79242 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventSystem.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventSystem.cs new file mode 100644 index 00000000..869d6cde --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventSystem.cs @@ -0,0 +1,79 @@ +using Unity.Entities; +using Unity.Jobs; +using Unity.Physics.Systems; +using Unity.Burst; + +namespace Unity.Physics.PhysicsStateful +{ + /// + /// This system converts stream of TriggerEvents to StatefulTriggerEvents that can be stored in a Dynamic Buffer. + /// In order for this conversion, it is required to: + /// 1) Use the 'Raise Trigger Events' option of the 'Collision Response' property on a component, and + /// 2) Add a component to that entity + /// or, if this is desired on a Character Controller: + /// 1) Tick the 'Raise Trigger Events' flag on the component. + /// Note: the Character Controller will not become a trigger, it will raise events when overlapping with one + /// + [UpdateInGroup(typeof(PhysicsSystemGroup))] + [UpdateAfter(typeof(PhysicsSimulationGroup))] + public partial struct StatefulTriggerEventSystem : ISystem + { + StatefulSimulationEventBuffers events; + EntityQuery triggerEventQuery; + + [BurstCompile] + public void OnCreate(ref SystemState state) + { + + // SamR + state.RequireForUpdate(); + + // Existing + events = new StatefulSimulationEventBuffers(); + events.AllocateBuffers(); + + triggerEventQuery = SystemAPI.QueryBuilder() + .WithAllRW() + .WithNone().Build(); + state.RequireForUpdate(triggerEventQuery); + + state.RequireForUpdate(); + } + + [BurstCompile] + public void OnDestroy(ref SystemState state) + { + events.Dispose(); + } + + [BurstCompile] + public void OnUpdate(ref SystemState state) + { + state.Dependency = new ClearTriggerEventDynamicBufferJob() + .ScheduleParallel(triggerEventQuery, state.Dependency); + + events.SwapBuffers(); + + state.Dependency = new CollectTriggerEventsJob + { + TriggerEvents = events.Current + }.Schedule(SystemAPI.GetSingleton(), state.Dependency); + + state.Dependency = new ConvertEventStreamToDynamicBufferJob + { + CurrentEvents = events.Current, + PreviousEvents = events.Previous, + EventLookup = SystemAPI.GetBufferLookup(), + + UseExcludeComponent = true, + EventExcludeLookup = SystemAPI.GetComponentLookup(true) + }.Schedule(state.Dependency); + } + + [BurstCompile] + public partial struct ClearTriggerEventDynamicBufferJob : IJobEntity + { + public void Execute(ref DynamicBuffer eventBuffer) => eventBuffer.Clear(); + } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventSystem.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventSystem.cs.meta new file mode 100644 index 00000000..08d167fb --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/PhysicsStatefulTrigger/StatefulTriggerEventSystem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bb2b32e988a0f8b47904c712d0144fcb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulEventCollectionJobs.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulEventCollectionJobs.cs new file mode 100644 index 00000000..a5431ad6 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulEventCollectionJobs.cs @@ -0,0 +1,101 @@ +using Unity.Burst; +using Unity.Collections; +using Unity.Entities; +using Unity.Jobs; +using UnityEngine; + +namespace Unity.Physics.PhysicsStateful +{ + [BurstCompile] + public struct CollectTriggerEventsJob : ITriggerEventsJob + { + public NativeList TriggerEvents; + public void Execute(TriggerEvent triggerEvent) => TriggerEvents.Add(new StatefulTriggerEvent(triggerEvent)); + } + + [BurstCompile] + public struct CollectCollisionEventsJob : ICollisionEventsJob + { + public NativeList CollisionEvents; + + public void Execute(CollisionEvent collisionEvent) => + CollisionEvents.Add(new StatefulCollisionEvent(collisionEvent)); + } + + [BurstCompile] + public struct CollectCollisionEventsWithDetailsJob : ICollisionEventsJob + { + public NativeList CollisionEvents; + [ReadOnly] public PhysicsWorld PhysicsWorld; + [ReadOnly] public ComponentLookup EventDetails; + public bool ForceCalculateDetails; + + public void Execute(CollisionEvent collisionEvent) + { + var statefulCollisionEvent = new StatefulCollisionEvent(collisionEvent); + + // Check if we should calculate the collision details + bool calculateDetails = ForceCalculateDetails; + if (!calculateDetails && EventDetails.HasComponent(collisionEvent.EntityA)) + { + calculateDetails = EventDetails[collisionEvent.EntityA].CalculateDetails; + } + + if (!calculateDetails && EventDetails.HasComponent(collisionEvent.EntityB)) + { + calculateDetails = EventDetails[collisionEvent.EntityB].CalculateDetails; + } + + if (calculateDetails) + { + var details = collisionEvent.CalculateDetails(ref PhysicsWorld); + statefulCollisionEvent.CollisionDetails = new StatefulCollisionEvent.Details( + details.EstimatedContactPointPositions.Length, + details.EstimatedImpulse, + details.AverageContactPointPosition); + } + + CollisionEvents.Add(statefulCollisionEvent); + } + } + + [BurstCompile] + public struct ConvertEventStreamToDynamicBufferJob : IJob + where T : unmanaged, IBufferElementData, IStatefulSimulationEvent + where C : unmanaged, IComponentData + { + public NativeList PreviousEvents; + public NativeList CurrentEvents; + public BufferLookup EventLookup; + + public bool UseExcludeComponent; + [ReadOnly] public ComponentLookup EventExcludeLookup; + + public void Execute() + { + var statefulEvents = new NativeList(CurrentEvents.Length, Allocator.Temp); + + StatefulSimulationEventBuffers.GetStatefulEvents(PreviousEvents, CurrentEvents, statefulEvents); + + for (int i = 0; i < statefulEvents.Length; i++) + { + var statefulEvent = statefulEvents[i]; + + var addToEntityA = EventLookup.HasBuffer(statefulEvent.EntityA) && + (!UseExcludeComponent || !EventExcludeLookup.HasComponent(statefulEvent.EntityA)); + var addToEntityB = EventLookup.HasBuffer(statefulEvent.EntityB) && + (!UseExcludeComponent || !EventExcludeLookup.HasComponent(statefulEvent.EntityA)); + + if (addToEntityA) + { + EventLookup[statefulEvent.EntityA].Add(statefulEvent); + } + + if (addToEntityB) + { + EventLookup[statefulEvent.EntityB].Add(statefulEvent); + } + } + } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulEventCollectionJobs.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulEventCollectionJobs.cs.meta new file mode 100644 index 00000000..d3fba688 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulEventCollectionJobs.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: aca124725c244707bf4c5470e046301e +timeCreated: 1685168602 \ No newline at end of file diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulSimulationEventBuffers.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulSimulationEventBuffers.cs new file mode 100644 index 00000000..072a9911 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulSimulationEventBuffers.cs @@ -0,0 +1,103 @@ +using Unity.Collections; + +namespace Unity.Physics.PhysicsStateful +{ + public struct StatefulSimulationEventBuffers where T : unmanaged, IStatefulSimulationEvent + { + public NativeList Previous; + public NativeList Current; + + public void AllocateBuffers() + { + Previous = new NativeList(Allocator.Persistent); + Current = new NativeList(Allocator.Persistent); + } + + public void Dispose() + { + if (Previous.IsCreated) Previous.Dispose(); + if (Current.IsCreated) Current.Dispose(); + } + + public void SwapBuffers() + { + (Previous, Current) = (Current, Previous); + Current.Clear(); + } + + /// + /// Returns a sorted combined list of stateful events based on the Previous and Current event frames. + /// Note: ensure that the frame buffers are sorted by calling SortBuffers first. + /// + /// + /// Specifies whether the Current events list needs to be sorted first. + public void GetStatefulEvents(NativeList statefulEvents, bool sortCurrent = true) => + GetStatefulEvents(Previous, Current, statefulEvents, sortCurrent); + + /// + /// Given two sorted event buffers, this function returns a single combined list with + /// all the appropriate set on each event. + /// + /// The events buffer from the previous frame. This list should have already be sorted from the previous frame. + /// The events buffer from the current frame. This list should be sorted before calling this function. + /// A single combined list of stateful events based on the previous and current frames. + /// Specifies whether the currentEvents list needs to be sorted first. + public static void GetStatefulEvents(NativeList previousEvents, NativeList currentEvents, + NativeList statefulEvents, bool sortCurrent = true) + { + if (sortCurrent) currentEvents.Sort(); + + statefulEvents.Clear(); + + int c = 0; + int p = 0; + while (c < currentEvents.Length && p < previousEvents.Length) + { + int r = previousEvents[p].CompareTo(currentEvents[c]); + if (r == 0) + { + var currentEvent = currentEvents[c]; + currentEvent.State = StatefulEventState.Stay; + statefulEvents.Add(currentEvent); + c++; + p++; + } + else if (r < 0) + { + var previousEvent = previousEvents[p]; + previousEvent.State = StatefulEventState.Exit; + statefulEvents.Add(previousEvent); + p++; + } + else //(r > 0) + { + var currentEvent = currentEvents[c]; + currentEvent.State = StatefulEventState.Enter; + statefulEvents.Add(currentEvent); + c++; + } + } + + if (c == currentEvents.Length) + { + while (p < previousEvents.Length) + { + var previousEvent = previousEvents[p]; + previousEvent.State = StatefulEventState.Exit; + statefulEvents.Add(previousEvent); + p++; + } + } + else if (p == previousEvents.Length) + { + while (c < currentEvents.Length) + { + var currentEvent = currentEvents[c]; + currentEvent.State = StatefulEventState.Enter; + statefulEvents.Add(currentEvent); + c++; + } + } + } + } +} diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulSimulationEventBuffers.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulSimulationEventBuffers.cs.meta new file mode 100644 index 00000000..27db9041 --- /dev/null +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsStateful/StatefulSimulationEventBuffers.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 330c5422a7dbc8e4184e34af009aa1d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD.meta diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponent.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponent.cs similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponent.cs rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponent.cs diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponent.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponent.cs.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponent.cs.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponent.cs.meta diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponentAuthoring.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponentAuthoring.cs similarity index 74% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponentAuthoring.cs rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponentAuthoring.cs index 343b27f2..c558a683 100644 --- a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponentAuthoring.cs +++ b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponentAuthoring.cs @@ -1,12 +1,11 @@ -using Unity.Entities; +using System; +using Unity.Entities; using UnityEngine; namespace RMC.DOTS.Systems.PhysicsTrigger { - /// - /// This authoring component allows us to define the speed and direction a pickup will rotate. This script is added - /// to a GameObject in the RollABallSubScene and the Baker will convert it to an entity at runtime. - /// + + [Obsolete("Remove this and use the RMC DOTS 'PhysicsStateful' feature instead")] public class PhysicsTriggerComponentAuthoring : MonoBehaviour { public LayerMask MemberOfLayerMask; diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponentAuthoring.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponentAuthoring.cs.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerComponentAuthoring.cs.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerComponentAuthoring.cs.meta diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerOutputComponent.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerOutputComponent.cs similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerOutputComponent.cs rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerOutputComponent.cs diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerOutputComponent.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerOutputComponent.cs.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerOutputComponent.cs.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerOutputComponent.cs.meta diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystem.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystem.cs similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystem.cs rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystem.cs diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystem.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystem.cs.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystem.cs.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystem.cs.meta diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemAuthoring.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemAuthoring.cs similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemAuthoring.cs rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemAuthoring.cs diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemAuthoring.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemAuthoring.cs.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemAuthoring.cs.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemAuthoring.cs.meta diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemCleanup.cs b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemCleanup.cs similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemCleanup.cs rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemCleanup.cs diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemCleanup.cs.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemCleanup.cs.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/PhysicsTriggerSystemCleanup.cs.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/PhysicsTriggerSystemCleanup.cs.meta diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/ReadMe.txt b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/ReadMe.txt similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/ReadMe.txt rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/ReadMe.txt diff --git a/RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/ReadMe.txt.meta b/RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/ReadMe.txt.meta similarity index 100% rename from RMC DOTS/Scripts/Runtime/Systems/PhysicsTrigger/ReadMe.txt.meta rename to RMC DOTS/Scripts/Runtime/Systems/PhysicsTriggerOLD/ReadMe.txt.meta diff --git a/package.json b/package.json index 2f32ffe9..dc1c99c2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "com.rmc.rmc-dots", "displayName": "RMC DOTS", - "version": "1.4.9", + "version": "1.5.0", "unity": "2022.3", "description": "DOTS library for Unity Development by Rivello Multimedia Consulting", "keywords": [