add : Add vehicle selection flow and harvester enemy AI #14

Merged
Cviat merged 1 commits from cviat into main 2026-07-23 08:14:43 +00:00
33 changed files with 3600 additions and 3716 deletions

View File

@ -0,0 +1,4 @@
<changelist name="Несохранённые_изменения_перед_Обновить_от_17_07_2026,_12_36_[Изменения]" date="1784280990511" recycled="true" deleted="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/.idea.Race_fields/.idea/shelf/Несохранённые_изменения_перед_Обновить_от_17_07_2026,_12_36_[Изменения]/shelved.patch" />
<option name="DESCRIPTION" value="Несохранённые изменения перед Обновить от 17.07.2026, 12:36 [Изменения]" />
</changelist>

View File

@ -9,7 +9,7 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Buggy Variant 1
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 3609018082110429662, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []

View File

@ -9,7 +9,7 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Buggy_MetDark
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 3609018082110429662, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []

View File

@ -9,7 +9,7 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Buggy_Metall
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 3609018082110429662, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 8
m_ValidKeywords: []
m_InvalidKeywords: []
@ -24,14 +24,102 @@ Material:
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs: []
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:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 0
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.892
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.49524605, g: 0.49524605, b: 0.49524605, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, 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: []
m_AllowLocking: 1
--- !u!114 &2562075926935352605

View File

@ -22,7 +22,7 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Buggy_Metall_Br_Rough
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: -6478536213147159724, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2a4579adec0226449b62f9ce4a0edd1b
guid: 714fbae1b854ba649ad4a2e78ba5eca7
folderAsset: yes
DefaultImporter:
externalObjects: {}

Binary file not shown.

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 913d8a886d245de4990489f960596b1e
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 45d84e15e1dc9ba4c9c98c338a4145b2
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 7416f0cbb9cb08641b85fe5f89726245
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,590 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3339298741944017579
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2341523906103846636}
- component: {fileID: 2501443832293603630}
m_Layer: 0
m_Name: WheelCollider_FR
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2341523906103846636
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3339298741944017579}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.9216186, y: 0.17657976, z: 0.7350356}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6862259535214135144}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!146 &2501443832293603630
WheelCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3339298741944017579}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
m_Radius: 1
m_SuspensionSpring:
spring: 65000
damper: 8500
targetPosition: 0.55
m_SuspensionDistance: 0.35
m_ForceAppPointDistance: 0.15
m_Mass: 220
m_WheelDampingRate: 1.2
m_ForwardFriction:
m_ExtremumSlip: 0.35
m_ExtremumValue: 1
m_AsymptoteSlip: 0.8
m_AsymptoteValue: 0.75
m_Stiffness: 1.35
m_SidewaysFriction:
m_ExtremumSlip: 0.28
m_ExtremumValue: 1
m_AsymptoteSlip: 0.65
m_AsymptoteValue: 0.75
m_Stiffness: 1.25
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
--- !u!1 &3650619672134271181
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9043762048047890421}
- component: {fileID: 5585513332569899037}
m_Layer: 0
m_Name: WheelCollider_FL
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &9043762048047890421
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3650619672134271181}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.7403082, y: 0.16376202, z: 0.7350353}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6862259535214135144}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!146 &5585513332569899037
WheelCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3650619672134271181}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
m_Radius: 1
m_SuspensionSpring:
spring: 65000
damper: 8500
targetPosition: 0.55
m_SuspensionDistance: 0.35
m_ForceAppPointDistance: 0.15
m_Mass: 220
m_WheelDampingRate: 1.2
m_ForwardFriction:
m_ExtremumSlip: 0.35
m_ExtremumValue: 1
m_AsymptoteSlip: 0.8
m_AsymptoteValue: 0.75
m_Stiffness: 1.35
m_SidewaysFriction:
m_ExtremumSlip: 0.28
m_ExtremumValue: 1
m_AsymptoteSlip: 0.65
m_AsymptoteValue: 0.75
m_Stiffness: 1.25
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
--- !u!1 &4220187751944662163
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6862259535214135144}
m_Layer: 0
m_Name: WheelColliders
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6862259535214135144
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4220187751944662163}
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:
- {fileID: 9043762048047890421}
- {fileID: 2341523906103846636}
- {fileID: 5185461955860110645}
- {fileID: 8105902962228665843}
m_Father: {fileID: 7508790823005770425}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5060349281540240539
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8105902962228665843}
- component: {fileID: 2169601261042596014}
m_Layer: 0
m_Name: WheelCollider_RR
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8105902962228665843
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5060349281540240539}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.9163063, y: 0.16070208, z: -1.7646651}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6862259535214135144}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!146 &2169601261042596014
WheelCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5060349281540240539}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
m_Radius: 0.835
m_SuspensionSpring:
spring: 65000
damper: 8500
targetPosition: 0.55
m_SuspensionDistance: 0.29224998
m_ForceAppPointDistance: 0.15
m_Mass: 220
m_WheelDampingRate: 1.2
m_ForwardFriction:
m_ExtremumSlip: 0.35
m_ExtremumValue: 1
m_AsymptoteSlip: 0.8
m_AsymptoteValue: 0.75
m_Stiffness: 1.35
m_SidewaysFriction:
m_ExtremumSlip: 0.28
m_ExtremumValue: 1
m_AsymptoteSlip: 0.65
m_AsymptoteValue: 0.75
m_Stiffness: 1.25
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
--- !u!1 &6901689348553057335
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5185461955860110645}
- component: {fileID: 3545069760759377831}
m_Layer: 0
m_Name: WheelCollider_RL
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5185461955860110645
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6901689348553057335}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.744715, y: 0.1364725, z: -1.7646654}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6862259535214135144}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!146 &3545069760759377831
WheelCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6901689348553057335}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
m_Radius: 0.835
m_SuspensionSpring:
spring: 65000
damper: 8500
targetPosition: 0.55
m_SuspensionDistance: 0.29224998
m_ForceAppPointDistance: 0.15
m_Mass: 220
m_WheelDampingRate: 1.2
m_ForwardFriction:
m_ExtremumSlip: 0.35
m_ExtremumValue: 1
m_AsymptoteSlip: 0.8
m_AsymptoteValue: 0.75
m_Stiffness: 1.35
m_SidewaysFriction:
m_ExtremumSlip: 0.28
m_ExtremumValue: 1
m_AsymptoteSlip: 0.65
m_AsymptoteValue: 0.75
m_Stiffness: 1.25
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
--- !u!1001 &8051921584296146258
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalPosition.x
value: 163.4559
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalPosition.y
value: 0.7491313
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalPosition.z
value: 104.04857
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8122145627593432382, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: -7664728788398519507, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: -2021238142412837144, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 536d0e1e844825b40be6a4e05f331ff3, type: 2}
- target: {fileID: -1120989108687609925, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: -887049932902998247, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_Name
value: HarvesterEnemy
objectReference: {fileID: 0}
- target: {fileID: 1572452237337188096, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1572452237337188096, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1572452237337188096, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1572452237337188096, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1572452237337188096, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1986983560156708314, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 4438303694591376117, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 6008359057637615197, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 6846309238722795712, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 8004537395834564576, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 536d0e1e844825b40be6a4e05f331ff3, type: 2}
- target: {fileID: 8666396105146483402, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 536d0e1e844825b40be6a4e05f331ff3, type: 2}
- target: {fileID: 9002406800346883408, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
insertIndex: -1
addedObject: {fileID: 6862259535214135144}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
insertIndex: -1
addedObject: {fileID: 309838903600352088}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
insertIndex: -1
addedObject: {fileID: 4013279782791818711}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
insertIndex: -1
addedObject: {fileID: 4587263311667884763}
- targetCorrespondingSourceObject: {fileID: 4177302620104308133, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
insertIndex: -1
addedObject: {fileID: 3524664443606531945}
m_SourcePrefab: {fileID: 100100000, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
--- !u!4 &3259800674814833756 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4792691420746940686, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_PrefabInstance: {fileID: 8051921584296146258}
m_PrefabAsset: {fileID: 0}
--- !u!4 &3958912292318364215 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -2788064876795922587, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_PrefabInstance: {fileID: 8051921584296146258}
m_PrefabAsset: {fileID: 0}
--- !u!1 &6216918693069553911 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4177302620104308133, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_PrefabInstance: {fileID: 8051921584296146258}
m_PrefabAsset: {fileID: 0}
--- !u!114 &3524664443606531945
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6216918693069553911}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 314cfddae3eb4784ca1f6c04a3ac82f5, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Harvesters.Visuals.HarvesterBladeSpinner
rotationSpeed: 720
rotationSpace: 1
--- !u!1 &7169525912848336899 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_PrefabInstance: {fileID: 8051921584296146258}
m_PrefabAsset: {fileID: 0}
--- !u!54 &309838903600352088
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7169525912848336899}
serializedVersion: 5
m_Mass: 2500
m_LinearDamping: 0.03
m_AngularDamping: 1.2
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 1
m_Constraints: 0
m_CollisionDetection: 2
--- !u!114 &4013279782791818711
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7169525912848336899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4d8c0e258b3d5b74e8d179d4cc96c122, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Harvesters.AI.HarvesterChaseController
target: {fileID: 0}
autoFindPlayer: 1
targetSearchInterval: 0.35
frontLeftCollider: {fileID: 5585513332569899037}
frontRightCollider: {fileID: 2501443832293603630}
rearLeftCollider: {fileID: 3545069760759377831}
rearRightCollider: {fileID: 2169601261042596014}
frontLeftVisual: {fileID: 7676333813219013543}
frontRightVisual: {fileID: 3958912292318364215}
rearLeftVisual: {fileID: 7543941119015121129}
rearRightVisual: {fileID: 3259800674814833756}
maxSpeedKmh: 55
motorTorque: 30000
brakeTorque: 6500
maxSteerAngle: 28
steeringResponse: 4
stoppingDistance: 1.4
reverseDistance: 0.7
downforce: 45
centerOfMass: {x: 0, y: -0.65, z: 0.2}
--- !u!65 &4587263311667884763
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7169525912848336899}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 2.6, y: 2.3, z: 4.8}
m_Center: {x: 0.08, y: 1.65, z: -0.05}
--- !u!4 &7508790823005770425 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_PrefabInstance: {fileID: 8051921584296146258}
m_PrefabAsset: {fileID: 0}
--- !u!4 &7543941119015121129 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 508724786338088379, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_PrefabInstance: {fileID: 8051921584296146258}
m_PrefabAsset: {fileID: 0}
--- !u!4 &7676333813219013543 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8846761903566321931, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_PrefabInstance: {fileID: 8051921584296146258}
m_PrefabAsset: {fileID: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9291a3f8ca3422546ae45ab051e89b2b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -43,7 +43,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_Resource: {fileID: 8300000, guid: f632e2ace80a32e47a2c531f64901a50, type: 3}
m_Resource: {fileID: 8300000, guid: 45d84e15e1dc9ba4c9c98c338a4145b2, type: 3}
m_PlayOnAwake: 0
m_Volume: 0.4
m_Pitch: 1
@ -155,7 +155,7 @@ Transform:
m_GameObject: {fileID: 3869626763326721352}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.9870148, y: 0.42516497, z: 1.7977295}
m_LocalPosition: {x: -0.98700947, y: 0.42516497, z: 1.7977297}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -226,7 +226,7 @@ Transform:
m_GameObject: {fileID: 4325012347455046819}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1.0023804, y: 0.42134243, z: -0.42227173}
m_LocalPosition: {x: 1.0023823, y: 0.42134243, z: -0.4222711}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -332,7 +332,7 @@ Transform:
m_GameObject: {fileID: 5884228197934813945}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1.0329285, y: 0.42649394, z: -0.42227173}
m_LocalPosition: {x: -1.0329266, y: 0.42649394, z: -0.42227113}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -403,7 +403,7 @@ Transform:
m_GameObject: {fileID: 6536870136428842500}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1.0023804, y: 0.42134243, z: 1.7977295}
m_LocalPosition: {x: 1.0023823, y: 0.42134243, z: 1.7977293}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -524,7 +524,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_Resource: {fileID: 8300000, guid: 771ce407ce807b74885ec23ebd1e6647, type: 3}
m_Resource: {fileID: 8300000, guid: 7416f0cbb9cb08641b85fe5f89726245, type: 3}
m_PlayOnAwake: 0
m_Volume: 0.65
m_Pitch: 1
@ -754,15 +754,15 @@ PrefabInstance:
m_Modifications:
- target: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
propertyPath: m_LocalPosition.x
value: 155.19724
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
propertyPath: m_LocalPosition.y
value: 0.033763755
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
propertyPath: m_LocalPosition.z
value: 82.28427
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
propertyPath: m_LocalRotation.w

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 28b4b793ebceaa84ba0cce962ec564c1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -253,7 +253,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_Resource: {fileID: 8300000, guid: f632e2ace80a32e47a2c531f64901a50, type: 3}
m_Resource: {fileID: 8300000, guid: 45d84e15e1dc9ba4c9c98c338a4145b2, type: 3}
m_PlayOnAwake: 0
m_Volume: 0.4
m_Pitch: 1
@ -382,7 +382,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_Resource: {fileID: 8300000, guid: 771ce407ce807b74885ec23ebd1e6647, type: 3}
m_Resource: {fileID: 8300000, guid: 913d8a886d245de4990489f960596b1e, type: 3}
m_PlayOnAwake: 0
m_Volume: 0.65
m_Pitch: 1
@ -1086,10 +1086,30 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -6652725513331149018, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: -4637639816175188393, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 919132149155446097, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
propertyPath: m_Name
value: Buggy_Model
objectReference: {fileID: 0}
- target: {fileID: 3106450020594354929, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 3568648316528729963, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 4460325758958146913, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []

View File

@ -176,6 +176,53 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
--- !u!1 &602157381
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 602157383}
- component: {fileID: 602157382}
m_Layer: 0
m_Name: SelectedVehicleSpawner
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &602157382
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 602157381}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 387521603e66df147a3042280acf4f66, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::RaceFields.GameFlow.SelectedVehicleSpawner
spawnPoint: {fileID: 1343330601}
fallbackVehiclePrefab: {fileID: 6815148326285687618, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
destroyExistingVehicles: 1
--- !u!4 &602157383
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 602157381}
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 &708861054
GameObject:
m_ObjectHideFlags: 0
@ -541,7 +588,38 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
--- !u!1001 &1235344138
--- !u!1 &1343330600
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1343330601}
m_Layer: 0
m_Name: Selected Vehicle Spawn Point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1343330601
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1343330600}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 168.61, y: 0.56, z: 102.68}
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!1001 &1543632251
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -549,343 +627,55 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 18073668855899836, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.x
value: -1.064
objectReference: {fileID: 0}
- target: {fileID: 18073668855899836, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.w
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 18073668855899836, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.x
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 18073668855899836, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.y
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 18073668855899836, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.z
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 18073668855899836, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -90
objectReference: {fileID: 0}
- target: {fileID: 18073668855899836, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 90
objectReference: {fileID: 0}
- target: {fileID: 30055885768626893, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 46137558477537620, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.w
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 46137558477537620, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.x
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 46137558477537620, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.y
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 46137558477537620, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.z
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 46137558477537620, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -90
objectReference: {fileID: 0}
- target: {fileID: 46137558477537620, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 90
objectReference: {fileID: 0}
- target: {fileID: 197527308575665575, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_Materials.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 197527308575665575, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: dd3838b8223e51b488c55db2735d498e, type: 2}
- target: {fileID: 477856645972255321, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.x
value: -1.0639954
objectReference: {fileID: 0}
- target: {fileID: 477856645972255321, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.y
value: 0.42649394
objectReference: {fileID: 0}
- target: {fileID: 1206376226034088301, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 1309468370366508180, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 1374416832813343906, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 1379730972348730713, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_Radius
value: 0.47826356
objectReference: {fileID: 0}
- target: {fileID: 1495843530475538565, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 1495843530475538565, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 1495843530475538565, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[2]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 1775635359462661212, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 2594975383896104374, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_Radius
value: 0.47826356
objectReference: {fileID: 0}
- target: {fileID: 2965825842971662246, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.w
value: 0.5171452
objectReference: {fileID: 0}
- target: {fileID: 2965825842971662246, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.x
value: -0.5171452
objectReference: {fileID: 0}
- target: {fileID: 2965825842971662246, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.y
value: -0.48224562
objectReference: {fileID: 0}
- target: {fileID: 2965825842971662246, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.z
value: 0.48224562
objectReference: {fileID: 0}
- target: {fileID: 2965825842971662246, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -4
objectReference: {fileID: 0}
- target: {fileID: 2965825842971662246, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -90
objectReference: {fileID: 0}
- target: {fileID: 2965825842971662246, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 90
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.x
value: 1.041
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.w
value: 0.5171452
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.x
value: -0.5171452
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.y
value: -0.48224562
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.z
value: 0.48224562
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -4
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -90
objectReference: {fileID: 0}
- target: {fileID: 3181514025310842165, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 90
objectReference: {fileID: 0}
- target: {fileID: 3200197431489064287, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 3244349108228611657, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 3647044783571598087, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 3878778438366419488, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 3884369135471139329, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 4370335444334433460, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 4493037243183110040, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 4714803322242078860, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_Radius
value: 0.45387608
objectReference: {fileID: 0}
- target: {fileID: 4731810756466535578, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 5311856725829372608, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 5326326322644842164, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.x
value: 1.0410004
objectReference: {fileID: 0}
- target: {fileID: 5326326322644842164, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.y
value: 0.42134243
objectReference: {fileID: 0}
- target: {fileID: 5341749135347582494, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 5591684590600678750, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 5970627787780749055, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 6084603585184690143, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 6108781290941408112, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.y
value: 0.425165
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.x
value: 168.61
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.y
value: 0.56
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.z
value: 102.68
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6328131455391148953, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 6467589418033285224, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_Materials.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6467589418033285224, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: dd3838b8223e51b488c55db2735d498e, type: 2}
- target: {fileID: 6815148326285687618, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
- target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_Name
value: Buggy
value: Harvester
objectReference: {fileID: 0}
- target: {fileID: 7017830192074665409, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 7084193664686075955, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_Radius
value: 0.45387608
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalPosition.x
value: 218.8
objectReference: {fileID: 0}
- target: {fileID: 7218355336742249219, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 7722431800841418079, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalPosition.y
value: 0.42134243
value: 0.7491313
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalPosition.z
value: 104.04857
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7816400608200870962, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 8052448488384295182, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 8212852673395945781, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 363cfab831021e343a46a02d21a67707, type: 2}
- target: {fileID: 8880012082068208961, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: 8937895760897618758, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 8948710440062729414, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
--- !u!1 &1695263362 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2079360422283849323, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
@ -1062,7 +852,7 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: 180, z: 0}
--- !u!1001 &1804151485
--- !u!1001 &2890032504799606039
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -1070,103 +860,91 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 2028108034489532716, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.x
value: 163.4559
value: -0.9870148
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 2028108034489532716, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.y
value: 0.7491313
value: 0.425165
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 2028108034489532716, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.z
value: 104.04857
value: 1.7977295
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 2863032532661209773, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.x
value: -1.0639954
objectReference: {fileID: 0}
- target: {fileID: 2863032532661209773, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.z
value: -0.42227173
objectReference: {fileID: 0}
- target: {fileID: 5482004173327451014, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.x
value: 1.0023804
objectReference: {fileID: 0}
- target: {fileID: 5482004173327451014, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.z
value: 1.7977295
objectReference: {fileID: 0}
- target: {fileID: 6958105095574729247, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.x
value: 1.0410004
objectReference: {fileID: 0}
- target: {fileID: 6958105095574729247, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.z
value: -0.42227173
objectReference: {fileID: 0}
- target: {fileID: 7192674219121697457, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_Name
value: Buggy_1
objectReference: {fileID: 0}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.x
value: 172.324
objectReference: {fileID: 0}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.y
value: 0.56
objectReference: {fileID: 0}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalPosition.z
value: 130.28
objectReference: {fileID: 0}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
- target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8122145627593432382, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: -7664728788398519507, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: -2021238142412837144, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 536d0e1e844825b40be6a4e05f331ff3, type: 2}
- target: {fileID: -1120989108687609925, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 8e3501dfb51fb04479ac17d08a801b01, type: 2}
- target: {fileID: -887049932902998247, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_Name
value: Harvester
objectReference: {fileID: 0}
- target: {fileID: 1986983560156708314, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 4438303694591376117, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
- target: {fileID: 6008359057637615197, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 6846309238722795712, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 8004537395834564576, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 536d0e1e844825b40be6a4e05f331ff3, type: 2}
- target: {fileID: 8666396105146483402, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 536d0e1e844825b40be6a4e05f331ff3, type: 2}
- target: {fileID: 9002406800346883408, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 2559ea3811cbaba40b8e47dadd6a7b9a, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@ -1174,9 +952,11 @@ SceneRoots:
- {fileID: 765191284}
- {fileID: 829907302}
- {fileID: 1735981103}
- {fileID: 1235344138}
- {fileID: 2890032504799606039}
- {fileID: 708861056}
- {fileID: 1804151485}
- {fileID: 775102730}
- {fileID: 997629554}
- {fileID: 180403638}
- {fileID: 602157383}
- {fileID: 1343330601}
- {fileID: 1543632251}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2a4579adec0226449b62f9ce4a0edd1b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,10 @@ namespace RaceFields.CameraSystem
[SerializeField] private float positionSmoothTime = 0.12f;
[SerializeField] private float rotationLerp = 12f;
[SerializeField] private bool autoFindTarget = true;
[SerializeField] private float targetSearchInterval = 0.25f;
private Vector3 velocity;
private float nextTargetSearchTime;
private void Start()
{
@ -47,11 +49,24 @@ namespace RaceFields.CameraSystem
velocity = Vector3.zero;
}
public void SetTarget(Transform newTarget, bool snap)
{
target = newTarget;
velocity = Vector3.zero;
if (snap)
SnapToTarget();
}
private void ResolveTarget()
{
if (target != null || !autoFindTarget)
return;
if (Time.unscaledTime < nextTargetSearchTime)
return;
nextTargetSearchTime = Time.unscaledTime + targetSearchInterval;
ArcadeBuggyController controller = Object.FindFirstObjectByType<ArcadeBuggyController>();
if (controller != null)
target = controller.transform;

View File

@ -0,0 +1,26 @@
using UnityEngine;
namespace RaceFields.GameFlow
{
public enum SelectedGameMode
{
Arena,
SurvivalRace
}
public static class GameSelectionState
{
public static GameObject VehiclePrefab { get; private set; }
public static string VehicleName { get; private set; }
public static SelectedGameMode GameMode { get; private set; }
public static string MapSceneName { get; private set; }
public static void SetSelection(GameObject vehiclePrefab, string vehicleName, SelectedGameMode gameMode, string mapSceneName)
{
VehiclePrefab = vehiclePrefab;
VehicleName = vehicleName;
GameMode = gameMode;
MapSceneName = mapSceneName;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 3fae561f4c80ba7459a48addd977d04d

View File

@ -0,0 +1,44 @@
using RaceFields.CameraSystem;
using RaceFields.Vehicles;
using UnityEngine;
namespace RaceFields.GameFlow
{
public sealed class SelectedVehicleSpawner : MonoBehaviour
{
[SerializeField] private Transform spawnPoint;
[SerializeField] private GameObject fallbackVehiclePrefab;
[SerializeField] private bool destroyExistingVehicles = true;
private void Start()
{
GameObject prefab = GameSelectionState.VehiclePrefab != null ? GameSelectionState.VehiclePrefab : fallbackVehiclePrefab;
if (prefab == null)
return;
if (destroyExistingVehicles)
DestroyExistingVehicleControllers();
Transform targetSpawn = spawnPoint != null ? spawnPoint : transform;
GameObject vehicle = Instantiate(prefab, targetSpawn.position, targetSpawn.rotation);
AssignCameraTarget(vehicle.transform);
}
private static void AssignCameraTarget(Transform vehicle)
{
BuggyFollowCamera followCamera = FindFirstObjectByType<BuggyFollowCamera>();
if (followCamera != null)
followCamera.SetTarget(vehicle, true);
}
private static void DestroyExistingVehicleControllers()
{
ArcadeBuggyController[] existingVehicles = FindObjectsByType<ArcadeBuggyController>(FindObjectsSortMode.None);
for (int i = 0; i < existingVehicles.Length; i++)
{
if (existingVehicles[i] != null)
Destroy(existingVehicles[i].gameObject);
}
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 387521603e66df147a3042280acf4f66

View File

@ -0,0 +1,384 @@
using System;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
#if ENABLE_INPUT_SYSTEM
using UnityEngine.InputSystem;
#endif
namespace RaceFields.GameFlow
{
public sealed class SelectionMenuController : MonoBehaviour
{
[Serializable]
public sealed class VehicleOption
{
public string displayName = "BUGGY";
public GameObject prefab;
public Vector3 previewRotation = new Vector3(0f, 145f, 0f);
public float previewScale = 1f;
}
[Serializable]
public sealed class MapOption
{
public string displayName = "DEMO SCENE";
public string sceneName = "Demo Scene";
public SelectedGameMode mode = SelectedGameMode.Arena;
}
private enum Step
{
Vehicle,
Mode,
Map
}
[Header("Content")]
[SerializeField] private VehicleOption[] vehicles;
[SerializeField] private MapOption[] maps;
[Header("Preview")]
[SerializeField] private Transform previewRoot;
[SerializeField] private float previewRotationSpeed = 28f;
[Header("Panels")]
[SerializeField] private GameObject vehiclePanel;
[SerializeField] private GameObject modePanel;
[SerializeField] private GameObject mapPanel;
[Header("Texts")]
[SerializeField] private Text titleText;
[SerializeField] private Text subtitleText;
[SerializeField] private Text vehicleNameText;
[SerializeField] private Text vehicleClassText;
[SerializeField] private Text[] modeLabels;
[SerializeField] private Text[] mapLabels;
private readonly string[] modeNames =
{
"\u0410\u0420\u0415\u041d\u0410",
"\u0413\u041e\u041d\u041a\u0410 \u041d\u0410 \u0412\u042b\u0416\u0418\u0412\u0410\u041d\u0418\u0415"
};
private Step currentStep;
private GameObject currentPreview;
private int vehicleIndex;
private int modeIndex;
private int mapIndex;
private void Awake()
{
if (previewRoot == null)
previewRoot = transform;
}
private void Start()
{
currentStep = Step.Vehicle;
ShowVehicle(vehicleIndex);
RefreshUi();
}
private void Update()
{
RotatePreview();
HandleKeyboard();
}
public void SelectPrevious()
{
MoveSelection(-1);
}
public void SelectNext()
{
MoveSelection(1);
}
public void Confirm()
{
if (currentStep == Step.Vehicle)
{
currentStep = Step.Mode;
RefreshUi();
return;
}
if (currentStep == Step.Mode)
{
mapIndex = 0;
currentStep = Step.Map;
RefreshUi();
return;
}
StartSelectedMap();
}
public void ChooseArena()
{
modeIndex = 0;
mapIndex = 0;
currentStep = Step.Map;
RefreshUi();
}
public void ChooseSurvivalRace()
{
modeIndex = 1;
mapIndex = 0;
currentStep = Step.Map;
RefreshUi();
}
public void ChooseCurrentMap()
{
StartSelectedMap();
}
public void Back()
{
if (currentStep == Step.Map)
currentStep = Step.Mode;
else if (currentStep == Step.Mode)
currentStep = Step.Vehicle;
RefreshUi();
}
private void HandleKeyboard()
{
#if ENABLE_INPUT_SYSTEM
Keyboard keyboard = Keyboard.current;
if (keyboard == null)
return;
if (keyboard.leftArrowKey.wasPressedThisFrame || keyboard.aKey.wasPressedThisFrame)
SelectPrevious();
else if (keyboard.rightArrowKey.wasPressedThisFrame || keyboard.dKey.wasPressedThisFrame)
SelectNext();
if (keyboard.spaceKey.wasPressedThisFrame || keyboard.enterKey.wasPressedThisFrame || keyboard.numpadEnterKey.wasPressedThisFrame)
Confirm();
else if (keyboard.escapeKey.wasPressedThisFrame || keyboard.backspaceKey.wasPressedThisFrame)
Back();
#endif
}
private void MoveSelection(int direction)
{
if (currentStep == Step.Vehicle)
{
int length = vehicles != null ? vehicles.Length : 0;
vehicleIndex = Wrap(vehicleIndex + direction, length);
ShowVehicle(vehicleIndex);
}
else if (currentStep == Step.Mode)
{
modeIndex = Wrap(modeIndex + direction, modeNames.Length);
}
else if (currentStep == Step.Map)
{
int length = GetMapCountForCurrentMode();
mapIndex = Wrap(mapIndex + direction, length);
}
RefreshUi();
}
private void ShowVehicle(int index)
{
if (currentPreview != null)
Destroy(currentPreview);
if (vehicles == null || vehicles.Length == 0 || vehicles[index] == null || vehicles[index].prefab == null)
return;
VehicleOption option = vehicles[index];
currentPreview = Instantiate(option.prefab, previewRoot.position, Quaternion.Euler(option.previewRotation), previewRoot);
currentPreview.name = "Runtime Preview - " + option.displayName;
currentPreview.transform.localPosition = Vector3.zero;
currentPreview.transform.localRotation = Quaternion.Euler(option.previewRotation);
currentPreview.transform.localScale = Vector3.one * Mathf.Max(0.01f, option.previewScale);
DisableGameplayComponents(currentPreview);
}
private void DisableGameplayComponents(GameObject root)
{
Rigidbody[] bodies = root.GetComponentsInChildren<Rigidbody>(true);
for (int i = 0; i < bodies.Length; i++)
{
bodies[i].isKinematic = true;
bodies[i].useGravity = false;
}
Collider[] colliders = root.GetComponentsInChildren<Collider>(true);
for (int i = 0; i < colliders.Length; i++)
colliders[i].enabled = false;
MonoBehaviour[] behaviours = root.GetComponentsInChildren<MonoBehaviour>(true);
for (int i = 0; i < behaviours.Length; i++)
behaviours[i].enabled = false;
AudioSource[] audioSources = root.GetComponentsInChildren<AudioSource>(true);
for (int i = 0; i < audioSources.Length; i++)
{
audioSources[i].Stop();
audioSources[i].enabled = false;
}
ParticleSystem[] particles = root.GetComponentsInChildren<ParticleSystem>(true);
for (int i = 0; i < particles.Length; i++)
particles[i].Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
TrailRenderer[] trails = root.GetComponentsInChildren<TrailRenderer>(true);
for (int i = 0; i < trails.Length; i++)
trails[i].emitting = false;
}
private void RotatePreview()
{
if (currentPreview == null)
return;
currentPreview.transform.Rotate(Vector3.up, previewRotationSpeed * Time.deltaTime, Space.World);
}
private void RefreshUi()
{
if (vehiclePanel != null)
vehiclePanel.SetActive(currentStep == Step.Vehicle);
if (modePanel != null)
modePanel.SetActive(currentStep == Step.Mode);
if (mapPanel != null)
mapPanel.SetActive(currentStep == Step.Map);
if (titleText != null)
titleText.text = GetTitle();
if (subtitleText != null)
subtitleText.text = GetSubtitle();
if (vehicleNameText != null)
vehicleNameText.text = GetVehicleName();
if (vehicleClassText != null)
vehicleClassText.text = (vehicleIndex + 1) + " / " + Mathf.Max(vehicles != null ? vehicles.Length : 0, 1);
RefreshModeLabels();
RefreshMapLabels();
}
private void RefreshModeLabels()
{
if (modeLabels == null)
return;
for (int i = 0; i < modeLabels.Length && i < modeNames.Length; i++)
{
if (modeLabels[i] != null)
modeLabels[i].text = i == modeIndex ? "< " + modeNames[i] + " >" : modeNames[i];
}
}
private void RefreshMapLabels()
{
if (mapLabels == null)
return;
MapOption selectedMap = GetMapForCurrentMode(mapIndex);
for (int i = 0; i < mapLabels.Length; i++)
{
if (mapLabels[i] != null)
mapLabels[i].text = selectedMap != null ? selectedMap.displayName : "NO MAPS";
}
}
private string GetTitle()
{
if (currentStep == Step.Mode)
return "\u0420\u0415\u0416\u0418\u041c \u0418\u0413\u0420\u042b";
if (currentStep == Step.Map)
return "\u0412\u042b\u0411\u041e\u0420 \u041a\u0410\u0420\u0422\u042b";
return "\u0412\u042b\u0411\u041e\u0420 \u041c\u0410\u0428\u0418\u041d\u042b";
}
private string GetSubtitle()
{
if (currentStep == Step.Vehicle)
return "\u0421\u0422\u0420\u0415\u041b\u041a\u0418 / A-D - \u041c\u0410\u0428\u0418\u041d\u0410 SPACE - \u0412\u042b\u0411\u0420\u0410\u0422\u042c";
if (currentStep == Step.Mode)
return "\u0421\u0422\u0420\u0415\u041b\u041a\u0418 / A-D - \u0420\u0415\u0416\u0418\u041c SPACE - \u0414\u0410\u041b\u042c\u0428\u0415 ESC - \u041d\u0410\u0417\u0410\u0414";
return "\u0421\u0422\u0420\u0415\u041b\u041a\u0418 / A-D - \u041a\u0410\u0420\u0422\u0410 SPACE - \u0421\u0422\u0410\u0420\u0422 ESC - \u041d\u0410\u0417\u0410\u0414";
}
private string GetVehicleName()
{
if (vehicles == null || vehicles.Length == 0 || vehicles[vehicleIndex] == null)
return "NO VEHICLE";
return string.IsNullOrWhiteSpace(vehicles[vehicleIndex].displayName) ? vehicles[vehicleIndex].prefab.name : vehicles[vehicleIndex].displayName;
}
private void StartSelectedMap()
{
MapOption selectedMap = GetMapForCurrentMode(mapIndex);
if (selectedMap == null || string.IsNullOrWhiteSpace(selectedMap.sceneName))
{
Debug.LogWarning("No map is configured for selected game mode.");
return;
}
SelectedGameMode selectedMode = modeIndex == 0 ? SelectedGameMode.Arena : SelectedGameMode.SurvivalRace;
GameObject selectedPrefab = vehicles != null && vehicles.Length > 0 ? vehicles[vehicleIndex].prefab : null;
GameSelectionState.SetSelection(selectedPrefab, GetVehicleName(), selectedMode, selectedMap.sceneName);
SceneManager.LoadScene(selectedMap.sceneName);
}
private MapOption GetMapForCurrentMode(int filteredIndex)
{
if (maps == null || maps.Length == 0)
return null;
SelectedGameMode selectedMode = modeIndex == 0 ? SelectedGameMode.Arena : SelectedGameMode.SurvivalRace;
int currentFilteredIndex = 0;
for (int i = 0; i < maps.Length; i++)
{
if (maps[i] == null || maps[i].mode != selectedMode)
continue;
if (currentFilteredIndex == filteredIndex)
return maps[i];
currentFilteredIndex++;
}
return null;
}
private int GetMapCountForCurrentMode()
{
if (maps == null || maps.Length == 0)
return 0;
SelectedGameMode selectedMode = modeIndex == 0 ? SelectedGameMode.Arena : SelectedGameMode.SurvivalRace;
int count = 0;
for (int i = 0; i < maps.Length; i++)
{
if (maps[i] != null && maps[i].mode == selectedMode)
count++;
}
return count;
}
private static int Wrap(int value, int length)
{
if (length <= 0)
return 0;
value %= length;
return value < 0 ? value + length : value;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a5d1a3f92bb756c4d8237587a81bc651

View File

@ -0,0 +1,225 @@
using RaceFields.Vehicles;
using UnityEngine;
namespace RaceFields.Harvesters.AI
{
[RequireComponent(typeof(Rigidbody))]
public sealed class HarvesterChaseController : MonoBehaviour
{
[Header("Target")]
[SerializeField] private Transform target;
[SerializeField] private bool autoFindPlayer = true;
[SerializeField] private float targetSearchInterval = 0.35f;
[Header("Wheel Colliders")]
[SerializeField] private WheelCollider frontLeftCollider;
[SerializeField] private WheelCollider frontRightCollider;
[SerializeField] private WheelCollider rearLeftCollider;
[SerializeField] private WheelCollider rearRightCollider;
[Header("Wheel Visuals")]
[SerializeField] private Transform frontLeftVisual;
[SerializeField] private Transform frontRightVisual;
[SerializeField] private Transform rearLeftVisual;
[SerializeField] private Transform rearRightVisual;
[Header("Movement")]
[SerializeField] private float maxSpeedKmh = 55f;
[SerializeField] private float motorTorque = 30000f;
[SerializeField] private float brakeTorque = 6500f;
[SerializeField] private float maxSteerAngle = 28f;
[SerializeField] private float steeringResponse = 4f;
[SerializeField] private float stoppingDistance = 1.4f;
[SerializeField] private float reverseDistance = 0.7f;
[SerializeField] private float downforce = 45f;
[Header("Stability")]
[SerializeField] private Vector3 centerOfMass = new Vector3(0f, -0.65f, 0.2f);
private Rigidbody body;
private float nextTargetSearchTime;
private float currentSteerAngle;
private void Awake()
{
body = GetComponent<Rigidbody>();
AutoFindReferences();
body.centerOfMass = centerOfMass;
body.interpolation = RigidbodyInterpolation.Interpolate;
body.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
}
private void FixedUpdate()
{
ResolveTarget();
UpdateDriving();
ApplyDownforce();
}
private void Update()
{
UpdateWheelVisuals();
}
public void SetTarget(Transform newTarget)
{
target = newTarget;
nextTargetSearchTime = Time.time + targetSearchInterval;
}
private void UpdateDriving()
{
if (target == null)
{
ApplyBrake(brakeTorque);
ApplyMotor(0f);
SetSteering(0f);
return;
}
Vector3 localTarget = transform.InverseTransformPoint(target.position);
localTarget.y = 0f;
float distance = localTarget.magnitude;
if (distance < 0.1f)
{
ApplyBrake(brakeTorque);
ApplyMotor(0f);
return;
}
float speedKmh = body.linearVelocity.magnitude * 3.6f;
float targetAngle = Mathf.Atan2(localTarget.x, localTarget.z) * Mathf.Rad2Deg;
float desiredSteer = Mathf.Clamp(targetAngle, -maxSteerAngle, maxSteerAngle);
if (localTarget.z < 0f && Mathf.Abs(localTarget.x) < 0.5f)
desiredSteer = currentSteerAngle >= 0f ? maxSteerAngle : -maxSteerAngle;
SetSteering(desiredSteer);
if (distance <= reverseDistance)
{
ApplyBrake(0f);
ApplyMotor(-motorTorque * 0.45f);
return;
}
if (distance <= stoppingDistance)
{
ApplyBrake(brakeTorque);
ApplyMotor(0f);
return;
}
float angleFactor = Mathf.Clamp(1f - Mathf.Abs(targetAngle) / 130f * 0.5f, 0.65f, 1f);
float speedFactor = speedKmh < maxSpeedKmh ? 1f : 0f;
float torque = motorTorque * angleFactor * speedFactor;
ApplyBrake(0f);
ApplyMotor(torque);
}
private void SetSteering(float desiredAngle)
{
currentSteerAngle = Mathf.Lerp(currentSteerAngle, desiredAngle, steeringResponse * Time.fixedDeltaTime);
if (frontLeftCollider != null)
frontLeftCollider.steerAngle = currentSteerAngle;
if (frontRightCollider != null)
frontRightCollider.steerAngle = currentSteerAngle;
}
private void ApplyMotor(float torque)
{
SetMotorTorque(frontLeftCollider, torque * 0.5f);
SetMotorTorque(frontRightCollider, torque * 0.5f);
SetMotorTorque(rearLeftCollider, torque);
SetMotorTorque(rearRightCollider, torque);
}
private void ApplyBrake(float torque)
{
SetBrakeTorque(frontLeftCollider, torque);
SetBrakeTorque(frontRightCollider, torque);
SetBrakeTorque(rearLeftCollider, torque);
SetBrakeTorque(rearRightCollider, torque);
}
private void ApplyDownforce()
{
body.AddForce(-transform.up * downforce * body.linearVelocity.magnitude, ForceMode.Force);
}
private void UpdateWheelVisuals()
{
SyncWheelVisual(frontLeftCollider, frontLeftVisual);
SyncWheelVisual(frontRightCollider, frontRightVisual);
SyncWheelVisual(rearLeftCollider, rearLeftVisual);
SyncWheelVisual(rearRightCollider, rearRightVisual);
}
private void ResolveTarget()
{
if (target != null || !autoFindPlayer)
return;
if (Time.time < nextTargetSearchTime)
return;
nextTargetSearchTime = Time.time + targetSearchInterval;
ArcadeBuggyController player = Object.FindFirstObjectByType<ArcadeBuggyController>();
if (player != null)
target = player.transform;
}
private void AutoFindReferences()
{
frontLeftCollider ??= FindChildComponent<WheelCollider>("WheelCollider_FL");
frontRightCollider ??= FindChildComponent<WheelCollider>("WheelCollider_FR");
rearLeftCollider ??= FindChildComponent<WheelCollider>("WheelCollider_RL");
rearRightCollider ??= FindChildComponent<WheelCollider>("WheelCollider_RR");
frontLeftVisual ??= FindChildTransform("H_Wheel_FL");
frontRightVisual ??= FindChildTransform("H_Wheel_FR");
rearLeftVisual ??= FindChildTransform("H_Wheel_RL");
rearRightVisual ??= FindChildTransform("H_Wheel_RR");
}
private T FindChildComponent<T>(string childName) where T : Component
{
Transform child = FindChildTransform(childName);
return child != null ? child.GetComponent<T>() : null;
}
private Transform FindChildTransform(string childName)
{
Transform[] children = GetComponentsInChildren<Transform>(true);
for (int i = 0; i < children.Length; i++)
{
if (children[i].name == childName)
return children[i];
}
return null;
}
private static void SetMotorTorque(WheelCollider wheel, float torque)
{
if (wheel != null)
wheel.motorTorque = torque;
}
private static void SetBrakeTorque(WheelCollider wheel, float torque)
{
if (wheel != null)
wheel.brakeTorque = torque;
}
private static void SyncWheelVisual(WheelCollider collider, Transform visual)
{
if (collider == null || visual == null)
return;
collider.GetWorldPose(out Vector3 position, out Quaternion rotation);
visual.SetPositionAndRotation(position, rotation);
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 4d8c0e258b3d5b74e8d179d4cc96c122

View File

@ -0,0 +1,15 @@
using UnityEngine;
namespace RaceFields.Harvesters.Visuals
{
public sealed class HarvesterBladeSpinner : MonoBehaviour
{
[SerializeField] private float rotationSpeed = 720f;
[SerializeField] private Space rotationSpace = Space.Self;
private void Update()
{
transform.Rotate(Vector3.right, rotationSpeed * Time.deltaTime, rotationSpace);
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 314cfddae3eb4784ca1f6c04a3ac82f5

View File

@ -42,7 +42,7 @@ namespace RaceFields.Vehicles
[SerializeField] private TrailRenderer rearRightSkid;
[Header("Sounds")]
[SerializeField] private bool useSounds;
[SerializeField] private bool useSounds = true;
[SerializeField] private AudioSource engineSound;
[SerializeField] private AudioSource tireScreechSound;
@ -125,9 +125,15 @@ namespace RaceFields.Vehicles
return;
}
#endif
#if ENABLE_LEGACY_INPUT_MANAGER
throttleInput = Input.GetAxisRaw("Vertical");
steeringInput = Input.GetAxisRaw("Horizontal");
handbrakeInput = Input.GetKey(KeyCode.Space);
#else
throttleInput = 0f;
steeringInput = 0f;
handbrakeInput = false;
#endif
}
private void UpdateTelemetry()
@ -237,7 +243,7 @@ namespace RaceFields.Vehicles
if (engineSound != null)
{
if (!engineSound.isPlaying)
if (engineSound.clip != null && !engineSound.isPlaying)
engineSound.Play();
engineSound.pitch = initialEnginePitch + body.linearVelocity.magnitude / 25f;
@ -247,7 +253,7 @@ namespace RaceFields.Vehicles
bool shouldScreech = rearWheelsGrounded && (IsDrifting || (IsTractionLocked && SpeedKmh > EffectsMinSpeedKmh));
if (tireScreechSound != null)
{
if (shouldScreech && !tireScreechSound.isPlaying)
if (shouldScreech && tireScreechSound.clip != null && !tireScreechSound.isPlaying)
tireScreechSound.Play();
else if (!shouldScreech && tireScreechSound.isPlaying)
tireScreechSound.Stop();
@ -407,6 +413,9 @@ namespace RaceFields.Vehicles
rearRightSmoke ??= FindChildComponent<ParticleSystem>("RightTireSmoke_PS");
rearLeftSkid ??= FindChildComponent<TrailRenderer>("LeftTireSkid");
rearRightSkid ??= FindChildComponent<TrailRenderer>("RightTireSkid");
engineSound ??= FindChildComponent<AudioSource>("EngineSound");
tireScreechSound ??= FindChildComponent<AudioSource>("TireScreechSound");
}
private void CacheVisualRotationOffsets()

View File

@ -6,7 +6,10 @@ EditorBuildSettings:
serializedVersion: 2
m_Scenes:
- enabled: 1
path: Assets/Scenes/SampleScene.unity
guid: 99c9720ab356a0642a771bea13969a05
path: Assets/_Project/Scenes/Selection Scene.unity
guid: c8d93f5e005091249906eb8692282a9d
- enabled: 1
path: Assets/_Project/Scenes/Demo Scene.unity
guid: 5436e608397e56d45ae30baac88cdb0b
m_configObjects:
com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}