diff --git a/.ai/mcp/mcp.json b/.ai/mcp/mcp.json
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/.idea.Race_fields/.idea/shelf/_____17_07_2026__12_36___.xml b/.idea/.idea.Race_fields/.idea/shelf/_____17_07_2026__12_36___.xml
deleted file mode 100644
index ce9d827..0000000
--- a/.idea/.idea.Race_fields/.idea/shelf/_____17_07_2026__12_36___.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/.idea.Race_fields/.idea/workspace.xml b/.idea/.idea.Race_fields/.idea/workspace.xml
new file mode 100644
index 0000000..bb79573
--- /dev/null
+++ b/.idea/.idea.Race_fields/.idea/workspace.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "customColor": "",
+ "associatedIndex": 4
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1784280596021
+
+
+
+ 1784280596021
+
+
+
+ 1784288591435
+
+
+ 1784288591435
+
+
+
+
+
+
+
+
+
+
+
+ 1784528529649
+
+
+
+ 1784528529649
+
+
+
+ 1784530020605
+
+
+
+ 1784530020605
+
+
+
+ 1784534243727
+
+
+
+ 1784534243727
+
+
+
+ 1784701858222
+
+
+
+ 1784701858222
+
+
+
+ 1784794230299
+
+
+
+ 1784794230299
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/_Project/Art/Materials/BulletProjectile.mat b/Assets/_Project/Art/Materials/BulletProjectile.mat
new file mode 100644
index 0000000..b6daa0f
--- /dev/null
+++ b/Assets/_Project/Art/Materials/BulletProjectile.mat
@@ -0,0 +1,137 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-4075328406638620692
+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: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
+ version: 10
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BulletProjectile
+ 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:
+ - MOTIONVECTORS
+ 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:
+ - _AddPrecomputedVelocity: 0
+ - _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
+ - _XRMotionVectorsPass: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.009433985, g: 0.007559973, b: 0.0007564989, a: 1}
+ - _Color: {r: 0.009433985, g: 0.007559973, b: 0.0007564989, 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
diff --git a/Assets/_Project/Art/Materials/BulletProjectile.mat.meta b/Assets/_Project/Art/Materials/BulletProjectile.mat.meta
new file mode 100644
index 0000000..efa2948
--- /dev/null
+++ b/Assets/_Project/Art/Materials/BulletProjectile.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e4f0cefa7e5ef2640b0cf25b80ee3520
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Art/Models/Weapons/MachineGun.fbx b/Assets/_Project/Art/Models/Weapons/MachineGun.fbx
new file mode 100644
index 0000000..0087789
Binary files /dev/null and b/Assets/_Project/Art/Models/Weapons/MachineGun.fbx differ
diff --git a/Assets/_Project/Art/Models/Weapons/MachineGun.fbx.meta b/Assets/_Project/Art/Models/Weapons/MachineGun.fbx.meta
new file mode 100644
index 0000000..48e4232
--- /dev/null
+++ b/Assets/_Project/Art/Models/Weapons/MachineGun.fbx.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: e10ef6ed1df1f9445b52c82622b4ad31
+ModelImporter:
+ serializedVersion: 24501
+ internalIDToNameTable: []
+ externalObjects: {}
+ materials:
+ materialImportMode: 2
+ materialName: 0
+ materialSearch: 1
+ materialLocation: 1
+ searchTexturesGlobally: 0
+ animations:
+ legacyGenerateAnimations: 4
+ bakeSimulation: 0
+ resampleCurves: 1
+ optimizeGameObjects: 0
+ removeConstantScaleCurves: 0
+ motionNodeName:
+ animationImportErrors:
+ animationImportWarnings:
+ animationRetargetingWarnings:
+ animationDoRetargetingWarnings: 0
+ importAnimatedCustomProperties: 0
+ importConstraints: 0
+ animationCompression: 1
+ animationRotationError: 0.5
+ animationPositionError: 0.5
+ animationScaleError: 0.5
+ animationWrapMode: 0
+ extraExposedTransformPaths: []
+ extraUserProperties: []
+ clipAnimations: []
+ isReadable: 0
+ meshes:
+ lODScreenPercentages: []
+ globalScale: 1
+ meshCompression: 0
+ addColliders: 0
+ useSRGBMaterialColor: 1
+ sortHierarchyByName: 1
+ importPhysicalCameras: 1
+ importVisibility: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ nodeNameCollisionStrategy: 1
+ fileIdsGeneration: 2
+ swapUVChannels: 0
+ generateSecondaryUV: 0
+ useFileUnits: 1
+ keepQuads: 0
+ weldVertices: 1
+ bakeAxisConversion: 0
+ preserveHierarchy: 0
+ skinWeightsMode: 0
+ maxBonesPerVertex: 4
+ minBoneWeight: 0.001
+ optimizeBones: 1
+ generateMeshLods: 0
+ meshLodGenerationFlags: 0
+ maximumMeshLod: -1
+ importUVs: -1
+ importVertexColors: 1
+ meshOptimizationFlags: -1
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15.000001
+ secondaryUVHardAngle: 88
+ secondaryUVMarginMethod: 1
+ secondaryUVMinLightmapResolution: 40
+ secondaryUVMinObjectScale: 1
+ secondaryUVPackMargin: 4
+ useFileScale: 1
+ strictVertexDataChecks: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ calculateBlendshapeNormalsDeltaFromImportedNormals: 0
+ referencedClips: []
+ importAnimation: 1
+ humanDescription:
+ serializedVersion: 3
+ human: []
+ skeleton: []
+ armTwist: 0.5
+ foreArmTwist: 0.5
+ upperLegTwist: 0.5
+ legTwist: 0.5
+ armStretch: 0.05
+ legStretch: 0.05
+ feetSpacing: 0
+ globalScale: 1
+ rootMotionBoneName:
+ hasTranslationDoF: 0
+ hasExtraRoot: 0
+ skeletonHasParents: 1
+ lastHumanDescriptionAvatarSource: {instanceID: 0}
+ autoGenerateAvatarMappingIfUnspecified: 1
+ animationType: 2
+ humanoidOversampling: 1
+ avatarSetup: 0
+ addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+ importBlendShapeDeformPercent: 1
+ remapMaterialsIfMaterialImportModeIsNone: 0
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Art/UI/Sprites/MDP_Buggy_1.psb b/Assets/_Project/Art/UI/Sprites/MDP_Buggy_1.psb
new file mode 100644
index 0000000..483f2f5
Binary files /dev/null and b/Assets/_Project/Art/UI/Sprites/MDP_Buggy_1.psb differ
diff --git a/Assets/_Project/Art/UI/Sprites/MDP_Buggy_1.psb.meta b/Assets/_Project/Art/UI/Sprites/MDP_Buggy_1.psb.meta
new file mode 100644
index 0000000..b47c037
--- /dev/null
+++ b/Assets/_Project/Art/UI/Sprites/MDP_Buggy_1.psb.meta
@@ -0,0 +1,524 @@
+fileFormatVersion: 2
+guid: a4df6771917b23c4f9be6ea9e36c1bd9
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: b2a9591990af98743ba3ff7cf1000886, type: 3}
+ textureImporterSettings:
+ alphaSource: 1
+ mipMapMode: 0
+ enableMipMap: 1
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ convertToNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ swizzle: 50462976
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ nPOTScale: 1
+ sRGBTexture: 1
+ spriteMode: 2
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 0
+ flipbookColumns: 0
+ ignorePngGamma: 0
+ cookieMode: 0
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ normalMap: 0
+ textureFormat: 0
+ maxTextureSize: 0
+ lightmap: 0
+ compressionQuality: 0
+ linearTexture: 0
+ grayScaleToAlpha: 0
+ rGBM: 0
+ cubemapConvolutionSteps: 0
+ cubemapConvolutionExponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ singleSpriteImportData:
+ - name:
+ originalName:
+ pivot: {x: 0, y: 0}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ spriteID: c167efbf8e46f0042b5dee4c94cc9cc1
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 0, y: 0}
+ spritePosition: {x: 0, y: 0}
+ multiSpriteImportData: []
+ layeredSpriteImportData:
+ - name: Wheel_FR
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1266
+ y: 605
+ width: 209
+ height: 256
+ spriteID: 49b4e606fa4744040b03727e67a07a28
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1266, y: 605}
+ spritePosition: {x: 803, y: 826}
+ - name: Wheel_RL
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1266
+ y: 340
+ width: 211
+ height: 257
+ spriteID: 02d5672b6e59d0d45b8b2479a3ab0bda
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1266, y: 340}
+ spritePosition: {x: 242, y: 825}
+ - name: Wheel_RR
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1266
+ y: 869
+ width: 202
+ height: 260
+ spriteID: 1ea701bd01d75f84982e26d49e8a49cf
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1266, y: 869}
+ spritePosition: {x: 810, y: 225}
+ - name: Wheel_RL
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1491
+ y: 4
+ width: 201
+ height: 261
+ spriteID: 92d779dabe4abc1449070e159e16f374
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1491, y: 4}
+ spritePosition: {x: 242, y: 225}
+ - name: FuelTank_R
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1700
+ y: 4
+ width: 104
+ height: 225
+ spriteID: d73ec417b1fbb7740a07656cad779ef2
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1700, y: 4}
+ spritePosition: {x: 827, y: 503}
+ - name: FuelTank_L
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1812
+ y: 4
+ width: 102
+ height: 225
+ spriteID: a93cb5906f19e4f4984ab1cc6f8605d4
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1812, y: 4}
+ spritePosition: {x: 323, y: 503}
+ - name: Bumper
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1491
+ y: 273
+ width: 390
+ height: 120
+ spriteID: 7e67b0d3c5dfa1e4bb0078317e63ad12
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1491, y: 273}
+ spritePosition: {x: 432, y: 1086}
+ - name: Cooler
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1922
+ y: 4
+ width: 109
+ height: 200
+ spriteID: f64d6eb9a2d7bc8499da8df9432b7f3b
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1922, y: 4}
+ spritePosition: {x: 572, y: 868}
+ - name: Layer 3
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1491
+ y: 401
+ width: 13
+ height: 277
+ spriteID: 6ccfde867c43bbf46a18f423979bd489
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1491, y: 401}
+ spritePosition: {x: 660, y: 833}
+ - name: Engine
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 1266
+ y: 4
+ width: 217
+ height: 328
+ spriteID: 14369f1f908ddd44c954eee16a044c41
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 1266, y: 4}
+ spritePosition: {x: 518, y: 792}
+ - name: Body
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 4
+ y: 1266
+ width: 993
+ height: 1190
+ spriteID: 900c3908f26b44046841cb05283ab51c
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 4, y: 1266}
+ spritePosition: {x: 0, y: 64}
+ - name: Layer 2
+ originalName:
+ pivot: {x: 0.5, y: 0.5}
+ alignment: 0
+ border: {x: 0, y: 0, z: 0, w: 0}
+ customData:
+ rect:
+ serializedVersion: 2
+ x: 4
+ y: 4
+ width: 1254
+ height: 1254
+ spriteID: 100b593d2b80c2e459502c020f443c60
+ spriteBone: []
+ spriteOutline: []
+ vertices: []
+ spritePhysicsOutline: []
+ indices:
+ edges: []
+ tessellationDetail: 0
+ uvTransform: {x: 4, y: 4}
+ spritePosition: {x: 0, y: 0}
+ spriteImportData: []
+ rigSpriteImportData: []
+ sharedRigSpriteImportData: []
+ mosaicSpriteImportData: []
+ platformSettings: []
+ mosaicLayers: 1
+ characterMode: 1
+ documentPivot: {x: 0, y: 0}
+ documentAlignment: 7
+ importHiddenLayers: 0
+ layerMappingOption: 2
+ generatePhysicsShape: 0
+ paperDollMode: 0
+ keepDupilcateSpriteName: 1
+ generateTileAssets: 0
+ tilePaletteCellLayout: 0
+ tilePaletteHexagonLayout: 0
+ tilePaletteCellSize: {x: 1, y: 1, z: 0}
+ tilePaletteCellSizing: 0
+ transparencySortMode: 0
+ transparencySortAxis: {x: 0, y: 0, z: 1}
+ tileTemplate: {instanceID: 0}
+ padding: 4
+ spriteSizeExpand: 0
+ skeletonAssetReferenceID:
+ pipeline: {instanceID: 0}
+ pipelineVersion:
+ spritePackingTag:
+ resliceFromLayer: 0
+ pSDLayerImportSetting: []
+ psdLayers:
+ - name: Wheel_FR
+ spriteName: Wheel_FR
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 49b4e606fa4744040b03727e67a07a28
+ layerID: 7
+ mosaicPosition: {x: 1266, y: 605}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Wheel_RL
+ spriteName: Wheel_RL
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 02d5672b6e59d0d45b8b2479a3ab0bda
+ layerID: 9
+ mosaicPosition: {x: 1266, y: 340}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Wheel_RR
+ spriteName: Wheel_RR
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 1ea701bd01d75f84982e26d49e8a49cf
+ layerID: 12
+ mosaicPosition: {x: 1266, y: 869}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Wheel_RL
+ spriteName: Wheel_RL
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 92d779dabe4abc1449070e159e16f374
+ layerID: 14
+ mosaicPosition: {x: 1491, y: 4}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: FuelTank_R
+ spriteName: FuelTank_R
+ isGroup: 0
+ parentIndex: -1
+ spriteID: d73ec417b1fbb7740a07656cad779ef2
+ layerID: 16
+ mosaicPosition: {x: 1700, y: 4}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: FuelTank_L
+ spriteName: FuelTank_L
+ isGroup: 0
+ parentIndex: -1
+ spriteID: a93cb5906f19e4f4984ab1cc6f8605d4
+ layerID: 18
+ mosaicPosition: {x: 1812, y: 4}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Bumper
+ spriteName: Bumper
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 7e67b0d3c5dfa1e4bb0078317e63ad12
+ layerID: 20
+ mosaicPosition: {x: 1491, y: 273}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Cooler
+ spriteName: Cooler
+ isGroup: 0
+ parentIndex: -1
+ spriteID: f64d6eb9a2d7bc8499da8df9432b7f3b
+ layerID: 24
+ mosaicPosition: {x: 1922, y: 4}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Layer 3
+ spriteName: Layer 3
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 6ccfde867c43bbf46a18f423979bd489
+ layerID: 28
+ mosaicPosition: {x: 1491, y: 401}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Engine
+ spriteName: Engine
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 14369f1f908ddd44c954eee16a044c41
+ layerID: 22
+ mosaicPosition: {x: 1266, y: 4}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Body
+ spriteName: Body
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 900c3908f26b44046841cb05283ab51c
+ layerID: 10
+ mosaicPosition: {x: 4, y: 1266}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ - name: Layer 2
+ spriteName: Layer 2
+ isGroup: 0
+ parentIndex: -1
+ spriteID: 100b593d2b80c2e459502c020f443c60
+ layerID: 5
+ mosaicPosition: {x: 4, y: 4}
+ flatten: 0
+ isImported: 1
+ isVisible: 1
+ mosaicPSDLayers: []
+ rigPSDLayers: []
+ sharedRigPSDLayers: []
+ importFileNodeState: 1
+ platformSettingsDirtyTick: 0
+ spriteSizeExpandChanged: 0
+ generateGOHierarchy: 0
+ textureAssetName:
+ prefabAssetName:
+ spriteLibAssetName:
+ skeletonAssetName:
+ secondarySpriteTextures: []
diff --git a/Assets/_Project/Audio/SFX/Vehicles/cbb115cd9d4f69a.mp3 b/Assets/_Project/Audio/SFX/Vehicles/cbb115cd9d4f69a.mp3
new file mode 100644
index 0000000..8dd12a0
Binary files /dev/null and b/Assets/_Project/Audio/SFX/Vehicles/cbb115cd9d4f69a.mp3 differ
diff --git a/Assets/_Project/Docs.meta b/Assets/_Project/Docs.meta
new file mode 100644
index 0000000..57c5895
--- /dev/null
+++ b/Assets/_Project/Docs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d6bcac2507ddd5e448851a12c20f7eaa
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Docs/Architecture.md b/Assets/_Project/Docs/Architecture.md
new file mode 100644
index 0000000..67d4b4e
--- /dev/null
+++ b/Assets/_Project/Docs/Architecture.md
@@ -0,0 +1,769 @@
+# Race Fields Architecture
+
+Этот документ фиксирует текущую архитектуру проекта по фактическим сценам, prefab'ам и скриптам.
+
+Главная цель: видеть не просто граф зависимостей, а слои проекта, ответственность каждого блока и места, где архитектура сейчас хрупкая.
+
+## Как Читать Диаграммы
+
+Главная диаграмма читается сверху вниз:
+
+1. `Entry / Scene Layer` - откуда стартует игра.
+2. `Scene Bootstrap Layer` - кто собирает игровую сцену.
+3. `Runtime Entity Layer` - реальные игровые объекты.
+4. `Subsystem Layer` - системы, которые обслуживают player/enemies.
+5. `Asset / Data Layer` - prefab'ы, sprites, render textures, static state.
+
+Связи на главной диаграмме показывают только важные runtime-зависимости. Детальные связи вынесены ниже в отдельные диаграммы.
+
+## Current Architecture Overview
+
+```mermaid
+flowchart TB
+ subgraph L1["ENTRY / SCENE LAYER"]
+ SelectionScene["Selection Scene"]
+ DemoScene["Demo Scene"]
+ end
+
+ subgraph L2["SCENE BOOTSTRAP LAYER"]
+ SelectionMenu["SelectionMenuController\nвыбор машины / режима / карты"]
+ SelectedVehicleSpawner["SelectedVehicleSpawner\nсоздает player и биндует сцену"]
+ end
+
+ subgraph L3["RUNTIME ENTITY LAYER"]
+ Player["Player Vehicle Instance\nBuggy prefab clone"]
+ Harvester["Harvester Enemy\nHarvester prefab instance"]
+ Terrain["Terrain\nTerrainCollider"]
+ end
+
+ subgraph L4["PLAYER SUBSYSTEMS"]
+ VehicleControl["ArcadeBuggyController\ninput + physics + wheels + sound + effects"]
+ WheelRig["WheelColliders / WheelVisuals"]
+ DamageCore["VehicleDamageController\nмодули здоровья"]
+ ImpactDamage["VehicleImpactDamageReceiver\nterrain / landing / collision damage"]
+ DamageHitboxes["DamageHitbox\nзоны урона"]
+ end
+
+ subgraph L5["SCENE SUBSYSTEMS"]
+ FollowCamera["BuggyFollowCamera"]
+ RearViewCamera["RearViewMirrorCamera"]
+ DamageHUD["VehicleDamageHud"]
+ HarvesterAI["HarvesterChaseController"]
+ BladeDamage["BladeDamageSource"]
+ BladeVisual["HarvesterBladeSpinner"]
+ end
+
+ subgraph L6["ASSET / DATA LAYER"]
+ GameSelectionState["GameSelectionState static\nвыбор между сценами"]
+ VehiclePrefabs["Player Vehicle Prefabs\nBuggy / Buggy_1 / Buggy_Player"]
+ HarvesterPrefab["HarvesterEnemy Prefab"]
+ DamageUISprites["MDP_Buggy_1.psb\nHUD base + overlay sprites"]
+ RearViewRT["RearViewMirror RenderTexture"]
+ end
+
+ SelectionScene --> SelectionMenu
+ SelectionMenu --> GameSelectionState
+ SelectionMenu --> DemoScene
+
+ DemoScene --> SelectedVehicleSpawner
+ DemoScene --> Terrain
+ DemoScene --> Harvester
+
+ SelectedVehicleSpawner --> GameSelectionState
+ SelectedVehicleSpawner --> VehiclePrefabs
+ SelectedVehicleSpawner --> Player
+ SelectedVehicleSpawner --> FollowCamera
+ SelectedVehicleSpawner --> RearViewCamera
+ SelectedVehicleSpawner --> DamageHUD
+
+ VehiclePrefabs --> Player
+ Player --> VehicleControl
+ Player --> WheelRig
+ Player --> DamageCore
+ Player --> ImpactDamage
+ Player --> DamageHitboxes
+
+ VehicleControl --> WheelRig
+ ImpactDamage --> DamageCore
+ ImpactDamage --> WheelRig
+ DamageHitboxes --> DamageCore
+ DamageCore --> DamageHUD
+ DamageUISprites --> DamageHUD
+
+ HarvesterPrefab --> Harvester
+ Harvester --> HarvesterAI
+ Harvester --> BladeVisual
+ Harvester --> BladeDamage
+ HarvesterAI --> Player
+ BladeDamage --> DamageHitboxes
+
+ FollowCamera --> Player
+ RearViewCamera --> Player
+ RearViewCamera --> RearViewRT
+```
+
+## Main Runtime Flow
+
+Это основной путь от выбора машины до gameplay.
+
+```mermaid
+sequenceDiagram
+ participant PlayerInput as Player Input
+ participant SelectionMenu as SelectionMenuController
+ participant SelectionState as GameSelectionState
+ participant UnityScene as Unity SceneManager
+ participant DemoScene as Demo Scene
+ participant Spawner as SelectedVehicleSpawner
+ participant Vehicle as Player Vehicle
+ participant Camera as Cameras
+ participant HUD as VehicleDamageHud
+ participant Enemy as Harvester
+
+ PlayerInput->>SelectionMenu: left/right/space
+ SelectionMenu->>SelectionMenu: choose vehicle, mode, map
+ SelectionMenu->>SelectionState: SetSelection(vehiclePrefab, mode, sceneName)
+ SelectionMenu->>UnityScene: LoadScene(sceneName)
+ UnityScene->>DemoScene: load gameplay scene
+ DemoScene->>Spawner: Start()
+ Spawner->>SelectionState: read selected prefab
+ Spawner->>Vehicle: Instantiate(prefab at spawn point)
+ Spawner->>Camera: SetTarget(vehicle)
+ Spawner->>HUD: Bind(vehicle.VehicleDamageController)
+ Enemy->>Vehicle: auto find / chase target
+```
+
+Проблема этого flow:
+
+- `GameSelectionState` - static.
+- `SelectedVehicleSpawner` уже не просто spawner, а bootstrap сцены.
+- Камеры, HUD и враг частично умеют искать player сами, частично получают его от spawner.
+
+## Scene Composition
+
+### Selection Scene
+
+```mermaid
+flowchart LR
+ subgraph SelectionScene["Selection Scene"]
+ MainCamera["Main Camera"]
+ Light["Directional Light"]
+ PreviewRoot["VehiclePreviewRoot"]
+ PreviewFloor["Preview Floor"]
+ Canvas["Selection Canvas"]
+ EventSystem["EventSystem\nInputSystemUIInputModule"]
+ Menu["SelectionMenuController"]
+ end
+
+ Menu --> PreviewRoot
+ Menu --> Canvas
+ Menu -->|"spawns preview prefab"| PreviewVehicle["Runtime Preview Vehicle"]
+ Menu -->|"writes selected data"| GameSelectionState["GameSelectionState"]
+ Menu -->|"loads selected map"| SceneManager["SceneManager.LoadScene"]
+```
+
+Что важно:
+
+- Preview использует настоящий gameplay prefab.
+- После spawn preview отключаются gameplay-компоненты.
+- Это быстро, но preview и gameplay связаны слишком плотно.
+
+### Demo Scene
+
+```mermaid
+flowchart LR
+ subgraph DemoScene["Demo Scene"]
+ Terrain["Terrain + TerrainCollider"]
+ ExistingBuggy["Buggy_1 scene instance\nтестовый объект"]
+ SpawnPoint["Selected Vehicle Spawn Point"]
+ Spawner["SelectedVehicleSpawner"]
+ FollowCamera["Buggy_ThirdPersonCamera"]
+ RearCamera["RearViewMirrorCamera"]
+ HudCanvas["Gameplay HUD Canvas"]
+ Harvester["Harvester"]
+ MachineGun["MachineGun"]
+ end
+
+ Spawner --> SpawnPoint
+ Spawner -->|"destroys existing ArcadeBuggyController if enabled"| ExistingBuggy
+ Spawner -->|"spawns selected prefab"| SpawnedPlayer["Buggy(Clone)"]
+ Spawner --> FollowCamera
+ Spawner --> RearCamera
+ Spawner --> HudCanvas
+ Harvester -->|"chases"| SpawnedPlayer
+```
+
+Что важно:
+
+- В сцене есть и тестовая машина `Buggy_1`, и spawner.
+- Spawner может удалить старую машину и создать выбранную.
+- Для финальной архитектуры лучше оставить один путь создания player.
+
+## Vehicle Prefab Composition
+
+Все три player-prefab'а сейчас должны иметь одну и ту же структуру:
+
+- `Buggy.prefab`
+- `Buggy_1.prefab`
+- `Buggy_Player.prefab`
+
+```mermaid
+flowchart TB
+ subgraph VehicleRoot["PLAYER VEHICLE PREFAB ROOT"]
+ Transform["Transform"]
+ Rigidbody["Rigidbody"]
+ BoxCollider["BoxCollider"]
+ end
+
+ subgraph Control["CONTROL / PHYSICS"]
+ ArcadeBuggyController["ArcadeBuggyController"]
+ BuggyWheelSetup["BuggyWheelSetup"]
+ WheelColliders["WheelCollider_FL / FR / RL / RR"]
+ WheelVisuals["Wheel visuals"]
+ VehicleAudio["EngineSound / TireScreechSound"]
+ VehicleVFX["Smoke / Skid Trails"]
+ end
+
+ subgraph Damage["DAMAGE"]
+ VehicleDamageController["VehicleDamageController"]
+ VehicleImpactDamageReceiver["VehicleImpactDamageReceiver"]
+ DamageModules["DamageModules"]
+ DamageHitboxes["DamageHitboxes"]
+ end
+
+ subgraph Modules["MODULES"]
+ Body["Body Module"]
+ Engine["Engine Module"]
+ FL["FrontLeftWheel Module"]
+ FR["FrontRightWheel Module"]
+ RL["RearLeftWheel Module"]
+ RR["RearRightWheel Module"]
+ end
+
+ subgraph Hitboxes["HITBOXES"]
+ BodyBox["Body Hitbox"]
+ EngineBox["Engine Hitbox"]
+ FLBox["FrontLeftWheel Hitbox"]
+ FRBox["FrontRightWheel Hitbox"]
+ RLBox["RearLeftWheel Hitbox"]
+ RRBox["RearRightWheel Hitbox"]
+ end
+
+ VehicleRoot --> Control
+ VehicleRoot --> Damage
+
+ ArcadeBuggyController --> WheelColliders
+ ArcadeBuggyController --> WheelVisuals
+ ArcadeBuggyController --> VehicleAudio
+ ArcadeBuggyController --> VehicleVFX
+ BuggyWheelSetup --> WheelColliders
+
+ VehicleDamageController --> DamageModules
+ DamageModules --> Modules
+ DamageHitboxes --> Hitboxes
+ DamageHitboxes --> VehicleDamageController
+ VehicleImpactDamageReceiver --> VehicleDamageController
+ VehicleImpactDamageReceiver --> ArcadeBuggyController
+
+ FL -->|"destroyed"| ArcadeBuggyController
+ FR -->|"destroyed"| ArcadeBuggyController
+ RL -->|"destroyed"| ArcadeBuggyController
+ RR -->|"destroyed"| ArcadeBuggyController
+```
+
+Ключевая проблема:
+
+`Damage` зависит от `ArcadeBuggyController`. Это работает только пока все машины устроены как багги. Для нормальной архитектуры нужен wheel adapter/interface.
+
+## Damage Architecture
+
+```mermaid
+flowchart TB
+ subgraph DamageInput["DAMAGE INPUT SOURCES"]
+ BladeDamageSource["BladeDamageSource\ntrigger damage"]
+ ImpactReceiver["VehicleImpactDamageReceiver\nterrain / landing / collision"]
+ FutureWeapons["Future Weapons\nbullets / mines / rockets"]
+ end
+
+ subgraph Routing["DAMAGE ROUTING"]
+ DamageHitbox["DamageHitbox\nexternal hit -> module type"]
+ DamageHit["DamageHit\namount / type / point / direction / source"]
+ end
+
+ subgraph State["DAMAGE STATE"]
+ DamageController["VehicleDamageController"]
+ ModuleBase["DamageableVehicleModule"]
+ WheelModule["VehicleWheelDamageModule"]
+ end
+
+ subgraph Output["DAMAGE OUTPUT"]
+ Hud["VehicleDamageHud"]
+ WheelDetach["Wheel detach\nvisual + collider + rigidbody"]
+ ControllerEffect["ArcadeBuggyController.SetWheelEnabled(false)"]
+ end
+
+ BladeDamageSource --> DamageHitbox
+ FutureWeapons --> DamageHitbox
+ DamageHitbox --> DamageHit
+ ImpactReceiver --> DamageHit
+ DamageHit --> DamageController
+ DamageController --> ModuleBase
+ ModuleBase --> WheelModule
+ DamageController --> Hud
+ WheelModule --> WheelDetach
+ WheelModule --> ControllerEffect
+```
+
+### Damage Rules Сейчас
+
+External damage:
+
+- `BladeDamageSource` ищет `DamageHitbox`.
+- `DamageHitbox` знает `VehicleModuleType`.
+- `VehicleDamageController` передает damage в конкретный module.
+
+Terrain / impact damage:
+
+- `VehicleImpactDamageReceiver` висит на root машины.
+- Считает collision damage через `OnCollisionEnter`.
+- Считает landing damage по каждому `WheelCollider`.
+- Отправляет damage напрямую в `VehicleDamageController`.
+
+HUD:
+
+- `VehicleDamageHud` слушает `VehicleDamageController.ModuleStateChanged`.
+- Красит overlay:
+ - healthy - transparent;
+ - damaged - red;
+ - destroyed/detached - black.
+
+## Enemy Architecture
+
+```mermaid
+flowchart TB
+ subgraph HarvesterPrefab["HARVESTER PREFAB"]
+ HarvesterRoot["Root\nRigidbody + BoxCollider"]
+ Chase["HarvesterChaseController"]
+ HarvesterWheels["WheelColliders + WheelVisuals"]
+ Blades["Blades"]
+ Spinner["HarvesterBladeSpinner"]
+ BladeDamage["BladeDamageSource"]
+ end
+
+ subgraph Target["TARGET"]
+ PlayerVehicle["ArcadeBuggyController player"]
+ PlayerHitboxes["Player DamageHitboxes"]
+ end
+
+ Chase --> HarvesterWheels
+ Chase -->|"FindFirstObjectByType / target"| PlayerVehicle
+ Blades --> Spinner
+ Blades --> BladeDamage
+ BladeDamage --> PlayerHitboxes
+```
+
+Проблема:
+
+- Harvester сам ищет player.
+- Нет `EnemyDirector`.
+- Нет единого `TargetProvider`.
+- При нескольких машинах враг может выбрать не ту.
+
+## Camera And HUD Binding
+
+```mermaid
+flowchart TB
+ Spawner["SelectedVehicleSpawner"]
+ Player["Spawned Player Vehicle"]
+
+ subgraph CameraSystem["CAMERA SYSTEM"]
+ FollowCamera["BuggyFollowCamera"]
+ RearViewCamera["RearViewMirrorCamera"]
+ RearViewRT["RearViewMirror RenderTexture"]
+ RearViewImage["Rear View UI Image"]
+ end
+
+ subgraph HUDSystem["HUD SYSTEM"]
+ DamageHud["VehicleDamageHud"]
+ HudBase["DamageHUD_BaseLayers"]
+ HudOverlays["DamageHUD_DamageOverlays"]
+ end
+
+ Spawner --> Player
+ Spawner -->|"SetTarget"| FollowCamera
+ Spawner -->|"SetTarget"| RearViewCamera
+ RearViewCamera --> RearViewRT
+ RearViewRT --> RearViewImage
+
+ Player -->|"VehicleDamageController"| DamageHud
+ DamageHud --> HudBase
+ DamageHud --> HudOverlays
+```
+
+Проблема:
+
+- Камеры и HUD умеют искать player сами.
+- Spawner тоже задает им player.
+- Нужно выбрать один путь. Лучше: bind только через bootstrap.
+
+## Current Dependency Table
+
+| System | Owns | Depends On | Problem |
+|---|---|---|---|
+| `SelectionMenuController` | UI выбора, preview, load scene | `GameSelectionState`, real vehicle prefab | Preview завязан на gameplay prefab |
+| `GameSelectionState` | выбранная машина/режим/карта | static global state | нет lifecycle, нет reset/session |
+| `SelectedVehicleSpawner` | spawn player, bind camera/HUD | `GameSelectionState`, cameras, HUD, damage | делает больше, чем spawner |
+| `ArcadeBuggyController` | input, drive, wheels, audio, VFX | wheel objects, audio, particles | слишком широкий класс |
+| `VehicleDamageController` | health modules | modules array | ок, но нужен profile/config |
+| `VehicleImpactDamageReceiver` | terrain/collision damage | `ArcadeBuggyController`, `VehicleDamageController` | damage зависит от конкретной машины |
+| `VehicleWheelDamageModule` | wheel destruction | `ArcadeBuggyController` | damage знает controller |
+| `VehicleDamageHud` | module damage UI | `VehicleDamageController`, scene UI sprites | mapping зашит в scene |
+| `HarvesterChaseController` | enemy movement | player search, wheel colliders | нет EnemyDirector |
+| `BladeDamageSource` | blade damage | `DamageHitbox` | нормальная связь для source damage |
+| `BuggyFollowCamera` | follow camera | player search or external target | два способа binding |
+| `RearViewMirrorCamera` | rear view | player search or external target | два способа binding |
+
+## Architecture Problems To Fix Before Scaling
+
+### 1. Нужен GameBootstrap
+
+Сейчас gameplay-сцена собирается через `SelectedVehicleSpawner`, но по факту он уже делает bootstrap.
+
+Нужно:
+
+```text
+GameBootstrap
+ -> read session request
+ -> create player
+ -> bind cameras
+ -> bind HUD
+ -> start enemies
+ -> start game mode
+```
+
+### 2. Нужен GameSession
+
+Сейчас состояние между сценами хранится в static `GameSelectionState`.
+
+Нужно:
+
+```text
+GameSession
+ selected vehicle
+ selected map
+ selected game mode
+ player instance
+ active enemies
+ session state
+```
+
+### 3. Нужен VehicleDefinition
+
+Сейчас selection хранит `GameObject prefab`.
+
+Лучше:
+
+```text
+VehicleDefinition
+ display name
+ gameplay prefab
+ preview settings
+ damage profile
+ HUD damage layout
+ audio profile
+```
+
+### 4. Нужен Wheel Rig Adapter
+
+Damage не должен знать `ArcadeBuggyController`.
+
+Нужно:
+
+```csharp
+public interface IVehicleWheelRig
+{
+ WheelCollider GetWheelCollider(WheelSlot slot);
+ Transform GetWheelVisual(WheelSlot slot);
+ void SetWheelEnabled(WheelSlot slot, bool enabled);
+ bool IsWheelGrounded(WheelSlot slot);
+}
+```
+
+Тогда:
+
+- `VehicleImpactDamageReceiver` зависит от `IVehicleWheelRig`;
+- `VehicleWheelDamageModule` зависит от `IVehicleWheelRig`;
+- конкретная багги просто предоставляет реализацию.
+
+### 5. Нужен Input Layer
+
+Сейчас `ArcadeBuggyController` сам читает keyboard.
+
+Нужно:
+
+```text
+IPlayerInputSource
+ Throttle
+ Steering
+ Handbrake
+
+KeyboardInputSource
+GamepadInputSource
+ArcadeCabinetInputSource
+AIInputSource
+```
+
+### 6. Нужны Game Modes
+
+Сейчас есть enum:
+
+- `Arena`
+- `SurvivalRace`
+
+Но нет runtime-режимов.
+
+Нужно:
+
+```text
+IGameMode
+ArenaMode
+SurvivalRaceMode
+```
+
+Game mode должен отвечать за:
+
+- правила старта;
+- enemy spawn rules;
+- win/lose;
+- scoring;
+- timer;
+- map-specific logic.
+
+## Target Architecture
+
+```mermaid
+flowchart TB
+ subgraph Entry["ENTRY"]
+ Selection["Selection Scene"]
+ SessionRequest["GameSessionRequest"]
+ end
+
+ subgraph Data["DATA / DEFINITIONS"]
+ VehicleDefinition["VehicleDefinition"]
+ MapDefinition["MapDefinition"]
+ GameModeDefinition["GameModeDefinition"]
+ DamageProfile["VehicleDamageProfile"]
+ HudDefinition["VehicleHudDefinition"]
+ end
+
+ subgraph Bootstrap["GAMEPLAY BOOTSTRAP"]
+ GameBootstrap["GameBootstrap"]
+ GameSession["GameSession"]
+ VehicleFactory["VehicleFactory"]
+ CameraBinder["CameraRigBinder"]
+ HudBinder["HudBinder"]
+ EnemyDirector["EnemyDirector"]
+ GameModeRunner["GameModeRunner"]
+ end
+
+ subgraph Runtime["RUNTIME OBJECTS"]
+ Player["Player Vehicle"]
+ Enemies["Enemies"]
+ World["Map / Terrain / Hazards"]
+ end
+
+ subgraph VehicleSystems["VEHICLE SYSTEMS"]
+ InputSource["IPlayerInputSource"]
+ VehicleController["IVehicleController"]
+ WheelRig["IVehicleWheelRig"]
+ DamageController["VehicleDamageController"]
+ ImpactReceiver["VehicleImpactDamageReceiver"]
+ VehicleAudio["VehicleAudioController"]
+ VehicleVFX["VehicleEffectsController"]
+ end
+
+ Selection --> SessionRequest
+ SessionRequest --> GameBootstrap
+
+ GameBootstrap --> GameSession
+ GameBootstrap --> VehicleFactory
+ GameBootstrap --> CameraBinder
+ GameBootstrap --> HudBinder
+ GameBootstrap --> EnemyDirector
+ GameBootstrap --> GameModeRunner
+
+ GameSession --> VehicleDefinition
+ GameSession --> MapDefinition
+ GameSession --> GameModeDefinition
+
+ VehicleDefinition --> DamageProfile
+ VehicleDefinition --> HudDefinition
+ VehicleFactory --> Player
+
+ Player --> InputSource
+ Player --> VehicleController
+ Player --> WheelRig
+ Player --> DamageController
+ Player --> ImpactReceiver
+ Player --> VehicleAudio
+ Player --> VehicleVFX
+
+ EnemyDirector --> Enemies
+ GameModeRunner --> Enemies
+ GameModeRunner --> World
+ CameraBinder --> Player
+ HudBinder --> Player
+ HudBinder --> HudDefinition
+```
+
+## Recommended Refactor Plan
+
+### Step 1 - Rename / Split Spawner
+
+Current:
+
+```text
+SelectedVehicleSpawner
+```
+
+Target:
+
+```text
+GameBootstrap
+VehicleFactory
+CameraRigBinder
+HudBinder
+```
+
+Minimum first change:
+
+- оставить spawn в `SelectedVehicleSpawner`;
+- вынести camera/HUD binding в отдельные компоненты;
+- или переименовать `SelectedVehicleSpawner` в `GameBootstrap` и явно признать его ответственность.
+
+### Step 2 - Replace Static Selection With Session Request
+
+Current:
+
+```text
+GameSelectionState static
+```
+
+Target:
+
+```text
+GameSessionRequest
+GameSession
+```
+
+### Step 3 - Introduce VehicleDefinition
+
+Current:
+
+```text
+SelectionMenuController.VehicleOption -> GameObject prefab
+```
+
+Target:
+
+```text
+SelectionMenuController.VehicleOption -> VehicleDefinition
+VehicleDefinition -> gameplay prefab / preview / damage / HUD / audio
+```
+
+### Step 4 - Decouple Damage From ArcadeBuggyController
+
+Current:
+
+```text
+VehicleImpactDamageReceiver -> ArcadeBuggyController
+VehicleWheelDamageModule -> ArcadeBuggyController
+```
+
+Target:
+
+```text
+VehicleImpactDamageReceiver -> IVehicleWheelRig
+VehicleWheelDamageModule -> IVehicleWheelRig
+ArcadeBuggyController or BuggyWheelRig -> IVehicleWheelRig
+```
+
+### Step 5 - Split ArcadeBuggyController
+
+Current:
+
+```text
+ArcadeBuggyController
+ input
+ physics
+ wheel visuals
+ audio
+ VFX
+ wheel API for damage
+```
+
+Target:
+
+```text
+ArcadeBuggyController / VehicleMotor
+VehicleInputSource
+VehicleWheelVisuals
+VehicleAudioController
+VehicleEffectsController
+BuggyWheelRig
+```
+
+## What Is Safe To Add Now
+
+Можно добавлять без сильного риска:
+
+- tuning параметров машины;
+- tuning damage thresholds;
+- улучшение HUD;
+- настройка harvester movement;
+- новые визуальные эффекты;
+- простые hazards, если они наносят урон через `DamageHitbox`.
+
+## What Should Wait
+
+Лучше не добавлять до bootstrap/session/refactor:
+
+- оружие;
+- несколько видов enemies;
+- power-ups;
+- полноценные game modes;
+- scoring/results;
+- несколько player vehicles;
+- сохранение прогресса;
+- arcade cabinet input;
+- VR-specific gameplay.
+
+Причина: все это сейчас будет цепляться к static state, scene object search и прямым ссылкам.
+
+## Summary
+
+Текущая архитектура рабочая для prototype, но главный риск уже виден:
+
+```text
+Нет единого runtime-контекста.
+```
+
+Сейчас обязанности размазаны между:
+
+- `GameSelectionState`;
+- `SelectedVehicleSpawner`;
+- камерами, которые сами ищут player;
+- harvester, который сам ищет player;
+- HUD, который сам ищет damage controller.
+
+Нормальная точка сборки должна выглядеть так:
+
+```text
+Selection Scene
+ -> GameSessionRequest
+ -> Demo Scene
+ -> GameBootstrap
+ -> GameSession
+ -> Player / Cameras / HUD / Enemies / GameMode
+```
+
+После этого новые системы будут подключаться через session/bootstrap, а не случайно искать друг друга по сцене.
diff --git a/Assets/_Project/Docs/Architecture.md.meta b/Assets/_Project/Docs/Architecture.md.meta
new file mode 100644
index 0000000..4f21fca
--- /dev/null
+++ b/Assets/_Project/Docs/Architecture.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: de5a8a5be1a98c64f8ae57f7dbad8078
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Prefabs/Harvesters/HarvesterEnemy.prefab b/Assets/_Project/Prefabs/Harvesters/HarvesterEnemy.prefab
index 509632c..86c26e1 100644
--- a/Assets/_Project/Prefabs/Harvesters/HarvesterEnemy.prefab
+++ b/Assets/_Project/Prefabs/Harvesters/HarvesterEnemy.prefab
@@ -455,9 +455,18 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
insertIndex: -1
addedObject: {fileID: 4587263311667884763}
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 6917201045494101815}
- targetCorrespondingSourceObject: {fileID: 4177302620104308133, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
insertIndex: -1
addedObject: {fileID: 3524664443606531945}
+ - targetCorrespondingSourceObject: {fileID: 4177302620104308133, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 5132510599987276558}
+ - targetCorrespondingSourceObject: {fileID: 4177302620104308133, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 8479407567185228081}
m_SourcePrefab: {fileID: 100100000, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
--- !u!4 &3259800674814833756 stripped
Transform:
@@ -488,6 +497,42 @@ MonoBehaviour:
m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Harvesters.Visuals.HarvesterBladeSpinner
rotationSpeed: 720
rotationSpace: 1
+--- !u!114 &5132510599987276558
+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: 5483916f7ebff2c448991626172509ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.BladeDamageSource
+ damagePerSecond: 45
+ tickInterval: 0.25
+ activationDelay: 1.25
+--- !u!65 &8479407567185228081
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6216918693069553911}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 0.065, y: 0.014, z: 0.014}
+ m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &7169525912848336899 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
@@ -573,6 +618,21 @@ BoxCollider:
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!114 &6917201045494101815
+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: b84a36537942ca148a8bc4a133d96e93, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.SimpleDamageReceiver
+ maxHealth: 100
+ destroyOnDeath: 1
+ destroyDelay: 0
--- !u!4 &7508790823005770425 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
diff --git a/Assets/_Project/Prefabs/Projectiles/BulletProjectile.prefab b/Assets/_Project/Prefabs/Projectiles/BulletProjectile.prefab
new file mode 100644
index 0000000..f499ae7
--- /dev/null
+++ b/Assets/_Project/Prefabs/Projectiles/BulletProjectile.prefab
@@ -0,0 +1,287 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &5060312022363176025
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4449135132298046214}
+ - component: {fileID: 455824722436531212}
+ - component: {fileID: 5609845134334554891}
+ - component: {fileID: 8172290100206215017}
+ - component: {fileID: 3755552695787435108}
+ - component: {fileID: 5767152562348033804}
+ - component: {fileID: 4256604062628749703}
+ m_Layer: 0
+ m_Name: BulletProjectile
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4449135132298046214
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5060312022363176025}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.07, y: 0.07, z: 0.07}
+ m_ConstrainProportionsScale: 1
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &455824722436531212
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5060312022363176025}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!135 &5609845134334554891
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5060312022363176025}
+ 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_Radius: 0.5
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &8172290100206215017
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5060312022363176025}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_ForceMeshLod: -1
+ m_MeshLodSelectionBias: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: e4f0cefa7e5ef2640b0cf25b80ee3520, 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: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_GlobalIlluminationMeshLod: 0
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_MaskInteraction: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!54 &3755552695787435108
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5060312022363176025}
+ serializedVersion: 5
+ m_Mass: 0.03
+ m_LinearDamping: 0
+ m_AngularDamping: 0
+ m_CenterOfMass: {x: 0, y: 0, z: 0}
+ m_InertiaTensor: {x: 1, y: 1, z: 1}
+ m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ImplicitCom: 1
+ m_ImplicitTensor: 1
+ m_UseGravity: 0
+ m_IsKinematic: 0
+ m_Interpolate: 1
+ m_Constraints: 0
+ m_CollisionDetection: 2
+--- !u!114 &5767152562348033804
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5060312022363176025}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9a787488e597d6a4ca2a4d452e6ee62a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::BulletProjectile
+ damage: 8
+ impactForce: 25
+ lifeTime: 2.5
+--- !u!96 &4256604062628749703
+TrailRenderer:
+ serializedVersion: 4
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5060312022363176025}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 0
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_ForceMeshLod: -1
+ m_MeshLodSelectionBias: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_GlobalIlluminationMeshLod: 0
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_MaskInteraction: 0
+ m_Time: 3
+ m_PreviewTimeScale: 1
+ m_Parameters:
+ serializedVersion: 3
+ widthMultiplier: 1
+ widthCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.21352497
+ inSlope: -0.070786595
+ outSlope: -0.070786595
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.942857
+ - serializedVersion: 3
+ time: 0.29931217
+ value: 0.12369752
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 0.65615445
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ colorGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 0.94832873, b: 0, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 24865
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_ColorSpace: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ numCornerVertices: 0
+ numCapVertices: 0
+ alignment: 0
+ textureMode: 0
+ textureScale: {x: 1, y: 1}
+ shadowBias: 0.5
+ generateLightingData: 0
+ m_MinVertexDistance: 0.1
+ m_Autodestruct: 0
+ m_Emitting: 1
+ m_ApplyActiveColorSpace: 1
diff --git a/Assets/_Project/Prefabs/Projectiles/BulletProjectile.prefab.meta b/Assets/_Project/Prefabs/Projectiles/BulletProjectile.prefab.meta
new file mode 100644
index 0000000..01e7eba
--- /dev/null
+++ b/Assets/_Project/Prefabs/Projectiles/BulletProjectile.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b53989f2534110c459cbd05c3562861f
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Prefabs/Vehicles/Player/Buggy.prefab b/Assets/_Project/Prefabs/Vehicles/Player/Buggy.prefab
index 4792540..ea2f17c 100644
--- a/Assets/_Project/Prefabs/Vehicles/Player/Buggy.prefab
+++ b/Assets/_Project/Prefabs/Vehicles/Player/Buggy.prefab
@@ -1,5 +1,42 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &678851920617152828
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4308219931449687786}
+ m_Layer: 0
+ m_Name: DamageModules
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4308219931449687786
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 678851920617152828}
+ 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: 5203170617531134041}
+ - {fileID: 4039219305083098774}
+ - {fileID: 917869650534139438}
+ - {fileID: 513069921206777595}
+ - {fileID: 5030994328003929438}
+ - {fileID: 1490784618976174324}
+ m_Father: {fileID: 6187829236652007928}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &904516071749555836
GameObject:
m_ObjectHideFlags: 0
@@ -129,6 +166,374 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
+--- !u!1 &980107703586752827
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1490784618976174324}
+ m_Layer: 0
+ m_Name: DamageModule_RearRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1490784618976174324
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 980107703586752827}
+ 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: 4308219931449687786}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &985278927905599597
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 509780127314561339}
+ - component: {fileID: 4949023128094988400}
+ - component: {fileID: 4617614898393773024}
+ m_Layer: 0
+ m_Name: DamageHitbox_RearRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &509780127314561339
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 985278927905599597}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 1.0023823, y: 0.42134243, z: -0.4222711}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5756100871681110291}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &4949023128094988400
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 985278927905599597}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.60740626
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &4617614898393773024
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 985278927905599597}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 4162358059794313232}
+ moduleType: 5
+ damageMultiplier: 1.1
+--- !u!1 &1522199945063803671
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 165765137459173630}
+ - component: {fileID: 5518850499844772572}
+ - component: {fileID: 9097829637973307076}
+ m_Layer: 0
+ m_Name: DamageHitbox_RearLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &165765137459173630
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1522199945063803671}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -1.0329266, y: 0.42649394, z: -0.42227113}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5756100871681110291}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &5518850499844772572
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1522199945063803671}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.60405797
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &9097829637973307076
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1522199945063803671}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 4162358059794313232}
+ moduleType: 4
+ damageMultiplier: 1.1
+--- !u!1 &2033152002869285067
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5756100871681110291}
+ m_Layer: 0
+ m_Name: DamageHitboxes
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5756100871681110291
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2033152002869285067}
+ 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: 5784468902436153891}
+ - {fileID: 4254540126733534658}
+ - {fileID: 6456890869576959319}
+ - {fileID: 4314062963670830293}
+ - {fileID: 165765137459173630}
+ - {fileID: 509780127314561339}
+ m_Father: {fileID: 6187829236652007928}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2087479700153931477
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 917869650534139438}
+ m_Layer: 0
+ m_Name: DamageModule_FrontLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &917869650534139438
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2087479700153931477}
+ 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: 4308219931449687786}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2134887713512700918
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6456890869576959319}
+ - component: {fileID: 3641632203635272221}
+ - component: {fileID: 7977274247077034901}
+ m_Layer: 0
+ m_Name: DamageHitbox_FrontLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6456890869576959319
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2134887713512700918}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.98700947, y: 0.42516497, z: 1.7977297}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5756100871681110291}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &3641632203635272221
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2134887713512700918}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.60405797
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &7977274247077034901
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2134887713512700918}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 4162358059794313232}
+ moduleType: 2
+ damageMultiplier: 1.1
+--- !u!1 &2236652310159055060
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 513069921206777595}
+ m_Layer: 0
+ m_Name: DamageModule_FrontRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &513069921206777595
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2236652310159055060}
+ 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: 4308219931449687786}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &3142864022589553855
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4039219305083098774}
+ m_Layer: 0
+ m_Name: DamageModule_Engine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4039219305083098774
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3142864022589553855}
+ 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: 4308219931449687786}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3869626763326721352
GameObject:
m_ObjectHideFlags: 0
@@ -271,6 +676,75 @@ WheelCollider:
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
+--- !u!1 &4474454028331496979
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4254540126733534658}
+ - component: {fileID: 6151096057021924048}
+ - component: {fileID: 4665106538739430254}
+ m_Layer: 0
+ m_Name: DamageHitbox_Engine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4254540126733534658
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4474454028331496979}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.01256505, y: 0.50707626, z: 2.269475}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5756100871681110291}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &6151096057021924048
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4474454028331496979}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1.2245655, y: 0.75567365, z: 1.1007986}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &4665106538739430254
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4474454028331496979}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 4162358059794313232}
+ moduleType: 1
+ damageMultiplier: 1.2
--- !u!1 &4777080315795762327
GameObject:
m_ObjectHideFlags: 0
@@ -306,6 +780,75 @@ Transform:
- {fileID: 7660429726624174055}
m_Father: {fileID: 6187829236652007928}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &5074150975273399011
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5784468902436153891}
+ - component: {fileID: 6844973523226333809}
+ - component: {fileID: 5764655060026937901}
+ m_Layer: 0
+ m_Name: DamageHitbox_Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5784468902436153891
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5074150975273399011}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.015743494, y: 0.76463735, z: 0.6496234}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5756100871681110291}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &6844973523226333809
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5074150975273399011}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 2.0409427, y: 1.0075649, z: 2.5554254}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &5764655060026937901
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5074150975273399011}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 4162358059794313232}
+ moduleType: 0
+ damageMultiplier: 1
--- !u!1 &5884228197934813945
GameObject:
m_ObjectHideFlags: 0
@@ -481,6 +1024,137 @@ Transform:
- {fileID: 7146618632555308886}
m_Father: {fileID: 6187829236652007928}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8221003576484659173
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5030994328003929438}
+ m_Layer: 0
+ m_Name: DamageModule_RearLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5030994328003929438
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8221003576484659173}
+ 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: 4308219931449687786}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8344515166698737873
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5203170617531134041}
+ m_Layer: 0
+ m_Name: DamageModule_Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5203170617531134041
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8344515166698737873}
+ 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: 4308219931449687786}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8357043864206736957
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4314062963670830293}
+ - component: {fileID: 4207657310940732640}
+ - component: {fileID: 3830794235451668251}
+ m_Layer: 0
+ m_Name: DamageHitbox_FrontRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4314062963670830293
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8357043864206736957}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 1.0023823, y: 0.42134243, z: 1.7977293}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5756100871681110291}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &4207657310940732640
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8357043864206736957}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.60740626
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &3830794235451668251
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8357043864206736957}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 4162358059794313232}
+ moduleType: 3
+ damageMultiplier: 1.1
--- !u!1 &8546225698448467078
GameObject:
m_ObjectHideFlags: 0
@@ -853,6 +1527,12 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
insertIndex: -1
addedObject: {fileID: 9122830728132778127}
+ - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 4308219931449687786}
+ - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 5756100871681110291}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
insertIndex: -1
@@ -865,7 +1545,7 @@ PrefabInstance:
addedObject: {fileID: 6756632559856253266}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
insertIndex: -1
- addedObject: {fileID: 4292201610895144585}
+ addedObject: {fileID: 4162358059794313232}
m_SourcePrefab: {fileID: 100100000, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
--- !u!4 &18073668855899836 stripped
Transform:
@@ -983,7 +1663,7 @@ MonoBehaviour:
useSounds: 1
engineSound: {fileID: 4106908681420802530}
tireScreechSound: {fileID: 5596619143633281226}
---- !u!114 &4292201610895144585
+--- !u!114 &4162358059794313232
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -992,21 +1672,23 @@ MonoBehaviour:
m_GameObject: {fileID: 6815148326285687618}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5f00271deee9d014d92d5672e1fe2baa, type: 3}
+ m_Script: {fileID: 11500000, guid: 23a901881a64d704fbdbdf8716ec0229, type: 3}
m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Vehicles.BuggyWheelSetup
- frontLeftWheelName: Wheel_FL
- frontRightWheelName: Wheel_FR
- rearLeftWheelName: Wheel_RL
- rearRightWheelName: Wheel_RR
- frontLeftColliderName: WheelCollider_FL
- frontRightColliderName: WheelCollider_FR
- rearLeftColliderName: WheelCollider_RL
- rearRightColliderName: WheelCollider_RR
- radiusMultiplier: 0.5
- minimumRadius: 0.12
- suspensionDistance: 0.28
- wheelMass: 20
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.VehicleDamageController
+ moduleHealth: []
+ spawnGraceTime: 1
+ minCollisionSpeed: 11
+ collisionDamagePerSpeed: 4.5
+ maxCollisionDamage: 95
+ collisionCooldown: 0.25
+ minAirTimeForLandingDamage: 0.45
+ minLandingDownSpeed: 9
+ landingDamagePerSpeed: 4
+ maxLandingDamage: 75
+ landingWheelDamageShare: 0.65
+ landingBodyDamageShare: 0.35
+ logDamage: 0
+ lastDamageDebug:
--- !u!1001 &6985207696866215891
PrefabInstance:
m_ObjectHideFlags: 0
diff --git a/Assets/_Project/Prefabs/Vehicles/Player/Buggy_1.prefab b/Assets/_Project/Prefabs/Vehicles/Player/Buggy_1.prefab
index 3d152ec..7e08f2e 100644
--- a/Assets/_Project/Prefabs/Vehicles/Player/Buggy_1.prefab
+++ b/Assets/_Project/Prefabs/Vehicles/Player/Buggy_1.prefab
@@ -68,6 +68,106 @@ Transform:
- {fileID: 771748206721198171}
m_Father: {fileID: 7537428961558247435}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2444968483898049878
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3367861422134867292}
+ m_Layer: 0
+ m_Name: spawnPoint
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3367861422134867292
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2444968483898049878}
+ 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: 7537428961558247435}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2732471142558111248
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8324421492438060744}
+ - component: {fileID: 6482405419762299482}
+ - component: {fileID: 1148924790592848314}
+ m_Layer: 0
+ m_Name: DamageHitbox_Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8324421492438060744
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2732471142558111248}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.034928203, y: 0.952, z: 0.6496234}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2261364672918771758}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &6482405419762299482
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2732471142558111248}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 2.0928407, y: 1.0075648, z: 2.5554254}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &1148924790592848314
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2732471142558111248}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 2812740341713274400}
+ moduleType: 0
+ damageMultiplier: 1
--- !u!1 &2968795502916450284
GameObject:
m_ObjectHideFlags: 0
@@ -94,7 +194,7 @@ Transform:
m_GameObject: {fileID: 2968795502916450284}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 1.0023823, y: 0.42134243, z: 1.7977293}
+ m_LocalPosition: {x: 1.0023823, y: 0.485, z: 1.7977293}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -109,7 +209,7 @@ WheelCollider:
m_GameObject: {fileID: 2968795502916450284}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
- m_Radius: 0.47826356
+ m_Radius: 0.48
m_SuspensionSpring:
spring: 35000
damper: 4500
@@ -139,6 +239,112 @@ WheelCollider:
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
+--- !u!1 &3038654581770510618
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2261364672918771758}
+ m_Layer: 0
+ m_Name: DamageHitboxes
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2261364672918771758
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3038654581770510618}
+ 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: 8324421492438060744}
+ - {fileID: 6502846467834952196}
+ - {fileID: 1128488548074832024}
+ - {fileID: 2014965150128567933}
+ - {fileID: 1268015067078022563}
+ - {fileID: 7967830878504766180}
+ m_Father: {fileID: 7537428961558247435}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &3316164678788101584
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1128488548074832024}
+ - component: {fileID: 326816972199248185}
+ - component: {fileID: 4070285775645152463}
+ m_Layer: 0
+ m_Name: DamageHitbox_FrontLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1128488548074832024
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3316164678788101584}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.98700947, y: 0.42516497, z: 1.7977297}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2261364672918771758}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &326816972199248185
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3316164678788101584}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.5900389
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &4070285775645152463
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3316164678788101584}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 2812740341713274400}
+ moduleType: 2
+ damageMultiplier: 1.1
--- !u!1 &3401613838793633353
GameObject:
m_ObjectHideFlags: 0
@@ -268,6 +474,75 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
+--- !u!1 &3697681831167838674
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2014965150128567933}
+ - component: {fileID: 7899810716207740354}
+ - component: {fileID: 7204145278176613994}
+ m_Layer: 0
+ m_Name: DamageHitbox_FrontRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2014965150128567933
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3697681831167838674}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 1.0023823, y: 0.42134243, z: 1.7977293}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2261364672918771758}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &7899810716207740354
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3697681831167838674}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.6217426
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &7204145278176613994
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3697681831167838674}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 2812740341713274400}
+ moduleType: 3
+ damageMultiplier: 1.1
--- !u!1 &6394886081676257114
GameObject:
m_ObjectHideFlags: 0
@@ -294,7 +569,7 @@ Transform:
m_GameObject: {fileID: 6394886081676257114}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 1.041, y: 0.42134243, z: -0.4222711}
+ m_LocalPosition: {x: 1.041, y: 0.485, z: -0.4222711}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -309,7 +584,7 @@ WheelCollider:
m_GameObject: {fileID: 6394886081676257114}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
- m_Radius: 0.47826356
+ m_Radius: 0.48
m_SuspensionSpring:
spring: 35000
damper: 4500
@@ -365,7 +640,7 @@ Transform:
m_GameObject: {fileID: 7009283000020388423}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.98700947, y: 0.42516497, z: 1.7977297}
+ m_LocalPosition: {x: -0.98700947, y: 0.485, z: 1.7977297}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -380,7 +655,7 @@ WheelCollider:
m_GameObject: {fileID: 7009283000020388423}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
- m_Radius: 0.45387608
+ m_Radius: 0.48
m_SuspensionSpring:
spring: 35000
damper: 4500
@@ -436,7 +711,7 @@ Transform:
m_GameObject: {fileID: 7485059301515088591}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -1.064, y: 0.42649394, z: -0.42227113}
+ m_LocalPosition: {x: -1.064, y: 0.485, z: -0.42227113}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -451,7 +726,7 @@ WheelCollider:
m_GameObject: {fileID: 7485059301515088591}
serializedVersion: 2
m_Center: {x: 0, y: 0, z: 0}
- m_Radius: 0.45387608
+ m_Radius: 0.48
m_SuspensionSpring:
spring: 35000
damper: 4500
@@ -481,6 +756,75 @@ WheelCollider:
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
+--- !u!1 &7527940449985007555
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6502846467834952196}
+ - component: {fileID: 2057871027760290318}
+ - component: {fileID: 6893315038360669418}
+ m_Layer: 0
+ m_Name: DamageHitbox_Engine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6502846467834952196
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7527940449985007555}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.011763545, y: 0.911, z: 2.117}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2261364672918771758}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &2057871027760290318
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7527940449985007555}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1.2557043, y: 0.7556735, z: 1.1007986}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &6893315038360669418
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7527940449985007555}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 2812740341713274400}
+ moduleType: 1
+ damageMultiplier: 1.2
--- !u!1 &8094638899907770378
GameObject:
m_ObjectHideFlags: 0
@@ -610,6 +954,144 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
+--- !u!1 &8495969875874801582
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7967830878504766180}
+ - component: {fileID: 4573757853348463198}
+ - component: {fileID: 2036753299656184915}
+ m_Layer: 0
+ m_Name: DamageHitbox_RearRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7967830878504766180
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8495969875874801582}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 1.041, y: 0.42134243, z: -0.4222711}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2261364672918771758}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &4573757853348463198
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8495969875874801582}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.6217426
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &2036753299656184915
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8495969875874801582}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 2812740341713274400}
+ moduleType: 5
+ damageMultiplier: 1.1
+--- !u!1 &8924939002948937440
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1268015067078022563}
+ - component: {fileID: 2196820243769238166}
+ - component: {fileID: 1092424478862009421}
+ m_Layer: 0
+ m_Name: DamageHitbox_RearLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1268015067078022563
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8924939002948937440}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -1.064, y: 0.42649394, z: -0.42227113}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2261364672918771758}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &2196820243769238166
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8924939002948937440}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.5900389
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &1092424478862009421
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8924939002948937440}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 2812740341713274400}
+ moduleType: 4
+ damageMultiplier: 1.1
--- !u!1001 &3066333805257791790
PrefabInstance:
m_ObjectHideFlags: 0
@@ -1089,6 +1571,12 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
insertIndex: -1
addedObject: {fileID: 8407050728171327581}
+ - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 2261364672918771758}
+ - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 3367861422134867292}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
insertIndex: -1
@@ -1101,7 +1589,10 @@ PrefabInstance:
addedObject: {fileID: 8884678622101061738}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
insertIndex: -1
- addedObject: {fileID: 1259061515745219696}
+ addedObject: {fileID: 2812740341713274400}
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 9004504747958224257}
m_SourcePrefab: {fileID: 100100000, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
--- !u!4 &1252779653934068934 stripped
Transform:
@@ -1214,7 +1705,7 @@ MonoBehaviour:
useSounds: 1
engineSound: {fileID: 5846105440596795175}
tireScreechSound: {fileID: 3381358742307659235}
---- !u!114 &1259061515745219696
+--- !u!114 &2812740341713274400
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -1223,21 +1714,37 @@ MonoBehaviour:
m_GameObject: {fileID: 7192674219121697457}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5f00271deee9d014d92d5672e1fe2baa, type: 3}
+ m_Script: {fileID: 11500000, guid: 23a901881a64d704fbdbdf8716ec0229, type: 3}
m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Vehicles.BuggyWheelSetup
- frontLeftWheelName: Wheel_FL
- frontRightWheelName: Wheel_FR
- rearLeftWheelName: Wheel_RL
- rearRightWheelName: Wheel_RR
- frontLeftColliderName: WheelCollider_FL
- frontRightColliderName: WheelCollider_FR
- rearLeftColliderName: WheelCollider_RL
- rearRightColliderName: WheelCollider_RR
- radiusMultiplier: 0.5
- minimumRadius: 0.12
- suspensionDistance: 0.28
- wheelMass: 20
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.VehicleDamageController
+ moduleHealth: []
+ spawnGraceTime: 1
+ minCollisionSpeed: 11
+ collisionDamagePerSpeed: 4.5
+ maxCollisionDamage: 95
+ collisionCooldown: 0.25
+ minAirTimeForLandingDamage: 0.45
+ minLandingDownSpeed: 9
+ landingDamagePerSpeed: 4
+ maxLandingDamage: 75
+ landingWheelDamageShare: 0.65
+ landingBodyDamageShare: 0.35
+ logDamage: 0
+ lastDamageDebug:
+--- !u!114 &9004504747958224257
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7192674219121697457}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 89aedc67121ea4f4c98085bc8c9ad0d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::VehicleWeaponInventory
+ currentWeapon: {fileID: 0}
+ spawnPoint: {fileID: 3367861422134867292}
--- !u!4 &7537428961558247435 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d88c2d74df3d234b885ec2e1187f328, type: 3}
@@ -1295,6 +1802,10 @@ PrefabInstance:
propertyPath: m_Name
value: RightTireSkid
objectReference: {fileID: 0}
+ - target: {fileID: 7344874181333496819, guid: ab4ea67cd9337c341af0bd7182c60f92, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -1362,6 +1873,10 @@ PrefabInstance:
propertyPath: m_Name
value: LeftTireSkid
objectReference: {fileID: 0}
+ - target: {fileID: 7344874181333496819, guid: ab4ea67cd9337c341af0bd7182c60f92, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
diff --git a/Assets/_Project/Prefabs/Vehicles/Player/Buggy_Player.prefab b/Assets/_Project/Prefabs/Vehicles/Player/Buggy_Player.prefab
index c1a2a3f..0f8950c 100644
--- a/Assets/_Project/Prefabs/Vehicles/Player/Buggy_Player.prefab
+++ b/Assets/_Project/Prefabs/Vehicles/Player/Buggy_Player.prefab
@@ -175,6 +175,75 @@ WheelCollider:
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
+--- !u!1 &1666953206663730719
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4479990610205060349}
+ - component: {fileID: 5825399517747744468}
+ - component: {fileID: 2024650573028944834}
+ m_Layer: 0
+ m_Name: DamageHitbox_RearLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4479990610205060349
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1666953206663730719}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.8716712, y: 0.27369422, z: -0.42227113}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 9194943108169963881}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &5825399517747744468
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1666953206663730719}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.51565677
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &2024650573028944834
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1666953206663730719}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 1251155925191827369}
+ moduleType: 4
+ damageMultiplier: 1.1
--- !u!1 &2599938933167188421
GameObject:
m_ObjectHideFlags: 0
@@ -339,6 +408,75 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
+--- !u!1 &4256784020541811601
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8855745749561159609}
+ - component: {fileID: 5035463054206016886}
+ - component: {fileID: 6076283664317587352}
+ m_Layer: 0
+ m_Name: DamageHitbox_FrontLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8855745749561159609
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4256784020541811601}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.8716712, y: 0.27369422, z: 1.8148861}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 9194943108169963881}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &5035463054206016886
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4256784020541811601}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.5156568
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &6076283664317587352
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4256784020541811601}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 1251155925191827369}
+ moduleType: 2
+ damageMultiplier: 1.1
--- !u!1 &5725176332190465528
GameObject:
m_ObjectHideFlags: 0
@@ -468,6 +606,43 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
+--- !u!1 &5972247958471006541
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 9194943108169963881}
+ m_Layer: 0
+ m_Name: DamageHitboxes
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &9194943108169963881
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5972247958471006541}
+ 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: 5036353294958251943}
+ - {fileID: 383979774159315010}
+ - {fileID: 8855745749561159609}
+ - {fileID: 8988962712716943782}
+ - {fileID: 4479990610205060349}
+ - {fileID: 6809863583008423600}
+ m_Father: {fileID: 4772777578382570152}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6741570655071805230
GameObject:
m_ObjectHideFlags: 0
@@ -539,6 +714,75 @@ WheelCollider:
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
+--- !u!1 &6879061424484390238
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8988962712716943782}
+ - component: {fileID: 5441599143552244572}
+ - component: {fileID: 2059777941910514618}
+ m_Layer: 0
+ m_Name: DamageHitbox_FrontRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8988962712716943782
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6879061424484390238}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.87719953, y: 0.2736943, z: 1.8148861}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 9194943108169963881}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &5441599143552244572
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6879061424484390238}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.5156568
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &2059777941910514618
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6879061424484390238}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 1251155925191827369}
+ moduleType: 3
+ damageMultiplier: 1.1
--- !u!1 &6884068289341648401
GameObject:
m_ObjectHideFlags: 0
@@ -551,7 +795,7 @@ GameObject:
- component: {fileID: 5167617291018270}
- component: {fileID: 582127618437854756}
- component: {fileID: 302156863843409177}
- - component: {fileID: 8664118715040108722}
+ - component: {fileID: 1251155925191827369}
m_Layer: 0
m_Name: Buggy_Player
m_TagString: Untagged
@@ -579,6 +823,7 @@ Transform:
- {fileID: 279644236469480577}
- {fileID: 7863987729731623420}
- {fileID: 9114007139308049182}
+ - {fileID: 9194943108169963881}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!54 &5167617291018270
@@ -667,7 +912,7 @@ MonoBehaviour:
useSounds: 1
engineSound: {fileID: 2872479692476395633}
tireScreechSound: {fileID: 5164767240841886004}
---- !u!114 &8664118715040108722
+--- !u!114 &1251155925191827369
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -676,21 +921,161 @@ MonoBehaviour:
m_GameObject: {fileID: 6884068289341648401}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5f00271deee9d014d92d5672e1fe2baa, type: 3}
+ m_Script: {fileID: 11500000, guid: 23a901881a64d704fbdbdf8716ec0229, type: 3}
m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Vehicles.BuggyWheelSetup
- frontLeftWheelName: F_L
- frontRightWheelName: F_R
- rearLeftWheelName: B_L
- rearRightWheelName: B_R
- frontLeftColliderName: WheelCollider_FL
- frontRightColliderName: WheelCollider_FR
- rearLeftColliderName: WheelCollider_RL
- rearRightColliderName: WheelCollider_RR
- radiusMultiplier: 0.5
- minimumRadius: 0.12
- suspensionDistance: 0.28
- wheelMass: 20
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.VehicleDamageController
+ moduleHealth: []
+ spawnGraceTime: 1
+ minCollisionSpeed: 11
+ collisionDamagePerSpeed: 4.5
+ maxCollisionDamage: 95
+ collisionCooldown: 0.25
+ minAirTimeForLandingDamage: 0.45
+ minLandingDownSpeed: 9
+ landingDamagePerSpeed: 4
+ maxLandingDamage: 75
+ landingWheelDamageShare: 0.65
+ landingBodyDamageShare: 0.35
+ logDamage: 0
+ lastDamageDebug:
+--- !u!1 &7144028055245717426
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5036353294958251943}
+ - component: {fileID: 1424654091887393660}
+ - component: {fileID: 5944958387327624743}
+ m_Layer: 0
+ m_Name: DamageHitbox_Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5036353294958251943
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7144028055245717426}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.03496194, y: 0.68061024, z: 0.6465633}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 9194943108169963881}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &1424654091887393660
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7144028055245717426}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1.6176045, y: 1.1486375, z: 2.1729183}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &5944958387327624743
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7144028055245717426}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 1251155925191827369}
+ moduleType: 0
+ damageMultiplier: 1
+--- !u!1 &7584916029984392318
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 383979774159315010}
+ - component: {fileID: 488353336899379031}
+ - component: {fileID: 7381166954967654850}
+ m_Layer: 0
+ m_Name: DamageHitbox_Engine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &383979774159315010
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7584916029984392318}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.0027641654, y: 0.36941406, z: 2.2160401}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 9194943108169963881}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &488353336899379031
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7584916029984392318}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 0.9705627, y: 0.8614781, z: 0.9360264}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &7381166954967654850
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7584916029984392318}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 1251155925191827369}
+ moduleType: 1
+ damageMultiplier: 1.2
--- !u!1 &7631946534788984040
GameObject:
m_ObjectHideFlags: 0
@@ -762,6 +1147,75 @@ WheelCollider:
m_LayerOverridePriority: 0
m_Enabled: 1
m_ProvidesContacts: 0
+--- !u!1 &8672086566250455480
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6809863583008423600}
+ - component: {fileID: 718638615359961317}
+ - component: {fileID: 813588334617030112}
+ m_Layer: 0
+ m_Name: DamageHitbox_RearRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6809863583008423600
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8672086566250455480}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.87719953, y: 0.2736943, z: -0.42227113}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 9194943108169963881}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!135 &718638615359961317
+SphereCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8672086566250455480}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Radius: 0.51565677
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &813588334617030112
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8672086566250455480}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 18014f9b0dee6a9498473614a3e522d8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Damage.VehicleDamage.DamageHitbox
+ damageController: {fileID: 1251155925191827369}
+ moduleType: 5
+ damageMultiplier: 1.1
--- !u!1001 &2782393766222725750
PrefabInstance:
m_ObjectHideFlags: 0
diff --git a/Assets/_Project/Prefabs/Weapons/MachineGun_prefab.prefab b/Assets/_Project/Prefabs/Weapons/MachineGun_prefab.prefab
new file mode 100644
index 0000000..ec3b3a8
--- /dev/null
+++ b/Assets/_Project/Prefabs/Weapons/MachineGun_prefab.prefab
@@ -0,0 +1,242 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2619232887283984616
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1973944076214827591}
+ m_Layer: 0
+ m_Name: Muzzle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1973944076214827591
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2619232887283984616}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.13739058, y: 1.8283, z: 0.4653}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 7534708747585793477}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4284098897898543534
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7934938654016177134}
+ m_Layer: 0
+ m_Name: pivot
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7934938654016177134
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4284098897898543534}
+ 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: 7534708747585793477}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6304765452993946667
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4132040617390652714}
+ m_Layer: 0
+ m_Name: GameObject
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4132040617390652714
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6304765452993946667}
+ 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: 7789081065401008525}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &7403242231905148394
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3107816258632120782}
+ m_Layer: 0
+ m_Name: GameObject
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3107816258632120782
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7403242231905148394}
+ 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: 623600404198432679}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &8005729781991361070
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 919132149155446097, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_Name
+ value: MachineGun_prefab
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects:
+ - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ insertIndex: 4
+ addedObject: {fileID: 7934938654016177134}
+ - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1973944076214827591}
+ - targetCorrespondingSourceObject: {fileID: -9006549272062162013, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 4132040617390652714}
+ - targetCorrespondingSourceObject: {fileID: -1748125006957259383, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 3107816258632120782}
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 4293301573341011267}
+ m_SourcePrefab: {fileID: 100100000, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+--- !u!4 &623600404198432679 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: -1748125006957259383, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ m_PrefabInstance: {fileID: 8005729781991361070}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &7195477887394346879 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ m_PrefabInstance: {fileID: 8005729781991361070}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &4293301573341011267
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7195477887394346879}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d3422cd562818d448a78afdc747d8166, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::MachineGunWeapon
+ aimPivot: {fileID: 7534708747585793477}
+ muzzle: {fileID: 1973944076214827591}
+ projectilePrefab: {fileID: 5767152562348033804, guid: b53989f2534110c459cbd05c3562861f, type: 3}
+ muzzleFlash: {fileID: 0}
+ targetSearchRadius: 80
+ targetHeightOffset: 1.1
+ aimTurnSpeed: 18
+ fireRate: 12
+ damagePerShot: 8
+ projectileSpeed: 70
+ projectileLifeTime: 2.5
+ spreadAngle: 1.2
+--- !u!4 &7534708747585793477 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ m_PrefabInstance: {fileID: 8005729781991361070}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7789081065401008525 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: -9006549272062162013, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ m_PrefabInstance: {fileID: 8005729781991361070}
+ m_PrefabAsset: {fileID: 0}
diff --git a/Assets/_Project/Prefabs/Weapons/MachineGun_prefab.prefab.meta b/Assets/_Project/Prefabs/Weapons/MachineGun_prefab.prefab.meta
new file mode 100644
index 0000000..d982160
--- /dev/null
+++ b/Assets/_Project/Prefabs/Weapons/MachineGun_prefab.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0b387817969384b45bb9bc5ceb9fb9e8
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/RenderTextures.meta b/Assets/_Project/RenderTextures.meta
new file mode 100644
index 0000000..e30ba08
--- /dev/null
+++ b/Assets/_Project/RenderTextures.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3e661d7a89960a149a0041a0a0ccc044
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/RenderTextures/RearViewMirror.renderTexture b/Assets/_Project/RenderTextures/RearViewMirror.renderTexture
new file mode 100644
index 0000000..c83250f
--- /dev/null
+++ b/Assets/_Project/RenderTextures/RearViewMirror.renderTexture
@@ -0,0 +1,39 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: RearViewMirror
+ m_ImageContentsHash:
+ serializedVersion: 2
+ Hash: 00000000000000000000000000000000
+ m_IsAlphaChannelOptional: 0
+ serializedVersion: 6
+ m_Width: 512
+ m_Height: 192
+ m_AntiAliasing: 2
+ m_MipCount: -1
+ m_DepthStencilFormat: 90
+ m_ColorFormat: 4
+ m_MipMap: 0
+ m_GenerateMips: 1
+ m_SRGB: 1
+ m_UseDynamicScale: 0
+ m_UseDynamicScaleExplicit: 0
+ m_BindMS: 0
+ m_EnableCompatibleFormat: 1
+ m_EnableRandomWrite: 0
+ m_TextureSettings:
+ serializedVersion: 2
+ m_FilterMode: 1
+ m_Aniso: 0
+ m_MipBias: 0
+ m_WrapU: 1
+ m_WrapV: 1
+ m_WrapW: 1
+ m_Dimension: 2
+ m_VolumeDepth: 1
+ m_ShadowSamplingMode: 2
diff --git a/Assets/_Project/RenderTextures/RearViewMirror.renderTexture.meta b/Assets/_Project/RenderTextures/RearViewMirror.renderTexture.meta
new file mode 100644
index 0000000..5fa043c
--- /dev/null
+++ b/Assets/_Project/RenderTextures/RearViewMirror.renderTexture.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 50bdd4d765aea2146ad9c6ecff404b7e
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 8400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Scenes/Demo Scene.unity b/Assets/_Project/Scenes/Demo Scene.unity
index f7955af..8a58525 100644
--- a/Assets/_Project/Scenes/Demo Scene.unity
+++ b/Assets/_Project/Scenes/Demo Scene.unity
@@ -119,6 +119,306 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
+--- !u!1 &445765
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 445766}
+ - component: {fileID: 445768}
+ - component: {fileID: 445767}
+ m_Layer: 0
+ m_Name: DamageHUD_Overlay_Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &445766
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 445765}
+ 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: 1793532659}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -22.894741, y: 5.61403}
+ m_SizeDelta: {x: 174.21053, y: 208.77193}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &445767
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 445765}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 508314956682703130, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &445768
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 445765}
+ m_CullTransparentMesh: 1
+--- !u!1 &35137945
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 35137946}
+ - component: {fileID: 35137948}
+ - component: {fileID: 35137947}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Engine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &35137946
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 35137945}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -0.0877213, y: 57.719288}
+ m_SizeDelta: {x: 38.070175, y: 57.543858}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &35137947
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 35137945}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 3593248377653423985, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &35137948
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 35137945}
+ m_CullTransparentMesh: 1
+--- !u!1 &76679995
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 76679996}
+ - component: {fileID: 76679998}
+ - component: {fileID: 76679997}
+ m_Layer: 0
+ m_Name: DamageHUD_Overlay_Engine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &76679996
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76679995}
+ 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: 1793532659}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -0.0877213, y: 57.719288}
+ m_SizeDelta: {x: 38.070175, y: 57.543858}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &76679997
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76679995}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 3593248377653423985, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &76679998
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76679995}
+ m_CullTransparentMesh: 1
+--- !u!1 &144807466
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 144807467}
+ - component: {fileID: 144807469}
+ - component: {fileID: 144807468}
+ m_Layer: 0
+ m_Name: DamageHUD_Overlay_RearRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &144807467
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 144807466}
+ 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: 1793532659}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 49.824554, y: -47.7193}
+ m_SizeDelta: {x: 35.438595, y: 45.614033}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &144807468
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 144807466}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 8811731574037704210, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &144807469
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 144807466}
+ m_CullTransparentMesh: 1
--- !u!1001 &180403638
PrefabInstance:
m_ObjectHideFlags: 0
@@ -176,6 +476,279 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+--- !u!1 &329516989
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 329516990}
+ m_Layer: 0
+ m_Name: DamageHUD_BaseLayers
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &329516990
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 329516989}
+ 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: 1220591168}
+ - {fileID: 1858940241}
+ - {fileID: 35137946}
+ - {fileID: 1720170246}
+ - {fileID: 1069759764}
+ - {fileID: 1209304504}
+ - {fileID: 1995587878}
+ - {fileID: 706633855}
+ - {fileID: 451783096}
+ - {fileID: 1238299343}
+ - {fileID: 2140431517}
+ - {fileID: 1800102174}
+ m_Father: {fileID: 1008165835}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &389042299
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 389042300}
+ - component: {fileID: 389042302}
+ - component: {fileID: 389042301}
+ m_Layer: 0
+ m_Name: Rear View Mirror Panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &389042300
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 389042299}
+ 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: 1397398363}
+ m_Father: {fileID: 1122895836}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 186, y: -24}
+ m_SizeDelta: {x: 360, y: 135}
+ m_Pivot: {x: 1, y: 1}
+--- !u!114 &389042301
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 389042299}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.02, g: 0.02, b: 0.02, a: 0.92}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &389042302
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 389042299}
+ m_CullTransparentMesh: 1
+--- !u!1 &451783095
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 451783096}
+ - component: {fileID: 451783098}
+ - component: {fileID: 451783097}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Wheel_RL_1
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &451783096
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 451783095}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -49.91228, y: -47.63158}
+ m_SizeDelta: {x: 35.263157, y: 45.78947}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &451783097
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 451783095}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -3588595044625245667, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &451783098
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 451783095}
+ m_CullTransparentMesh: 1
+--- !u!1 &568949843
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 568949844}
+ - component: {fileID: 568949846}
+ - component: {fileID: 568949845}
+ m_Layer: 0
+ m_Name: DamageHUD_Overlay_FrontLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &568949844
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 568949843}
+ 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: 1793532659}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -49.035088, y: 57.2807}
+ m_SizeDelta: {x: 37.01754, y: 45.08772}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &568949845
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 568949843}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -5120833719104542648, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &568949846
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 568949843}
+ m_CullTransparentMesh: 1
--- !u!1 &602157381
GameObject:
m_ObjectHideFlags: 0
@@ -223,6 +796,146 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &686067372
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.756
+ objectReference: {fileID: 0}
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.138
+ objectReference: {fileID: 0}
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (2)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 1231
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 7.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 662.4
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+--- !u!1 &706633854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 706633855}
+ - component: {fileID: 706633857}
+ - component: {fileID: 706633856}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_FuelTank_R
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &706633855
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 706633854}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 44.210526, y: -2.017548}
+ m_SizeDelta: {x: 18.245613, y: 39.473682}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &706633856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 706633854}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 5135160277425457373, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &706633857
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 706633854}
+ m_CullTransparentMesh: 1
--- !u!1 &708861054
GameObject:
m_ObjectHideFlags: 0
@@ -272,6 +985,71 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &732405647
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.756
+ objectReference: {fileID: 0}
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.138
+ objectReference: {fileID: 0}
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (5)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 213.6
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 7.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1232
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
--- !u!1 &765191281
GameObject:
m_ObjectHideFlags: 0
@@ -519,6 +1297,108 @@ PrefabInstance:
insertIndex: -1
addedObject: {fileID: 1695263363}
m_SourcePrefab: {fileID: 100100000, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+--- !u!1001 &852197356
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 172.13
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 148.208
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 919132149155446097, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ propertyPath: m_Name
+ value: MachineGun
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 852197359}
+ - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 852197358}
+ m_SourcePrefab: {fileID: 100100000, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+--- !u!1 &852197357 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e10ef6ed1df1f9445b52c82622b4ad31, type: 3}
+ m_PrefabInstance: {fileID: 852197356}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &852197358
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 852197357}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9ba2d729446c7924fae0c23b6f68a343, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Pickup
+ pickupPrefab: {fileID: 7195477887394346879, guid: 0b387817969384b45bb9bc5ceb9fb9e8, type: 3}
+--- !u!65 &852197359
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 852197357}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 0.9541168, y: 1, z: 1}
+ m_Center: {x: 0.15, y: 1.71, z: -0.51}
--- !u!1001 &997629554
PrefabInstance:
m_ObjectHideFlags: 0
@@ -588,6 +1468,873 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+--- !u!1 &1008165834
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1008165835}
+ - component: {fileID: 1008165838}
+ - component: {fileID: 1008165837}
+ - component: {fileID: 1008165836}
+ m_Layer: 0
+ m_Name: Vehicle Damage Panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1008165835
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008165834}
+ 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: 329516990}
+ - {fileID: 1793532659}
+ m_Father: {fileID: 1122895836}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 24, y: 24}
+ m_SizeDelta: {x: 220, y: 220}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1008165836
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008165834}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0bfd334c2a5c6d34b95197adeff4252e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.UI.HUD.VehicleDamageHud
+ target: {fileID: 0}
+ autoFindTarget: 1
+ targetSearchInterval: 0.35
+ fullVehicleImage: {fileID: 0}
+ moduleImages:
+ - moduleType: 0
+ image: {fileID: 445767}
+ - moduleType: 1
+ image: {fileID: 76679997}
+ - moduleType: 3
+ image: {fileID: 1043854146}
+ - moduleType: 2
+ image: {fileID: 568949845}
+ - moduleType: 5
+ image: {fileID: 144807468}
+ - moduleType: 4
+ image: {fileID: 1918441679}
+ healthyColor: {r: 1, g: 1, b: 1, a: 0}
+ damagedColor: {r: 1, g: 0, b: 0, a: 0.7}
+ destroyedColor: {r: 0, g: 0, b: 0, a: 0.85}
+--- !u!114 &1008165837
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008165834}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1008165838
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008165834}
+ m_CullTransparentMesh: 1
+--- !u!1 &1043854144
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1043854145}
+ - component: {fileID: 1043854147}
+ - component: {fileID: 1043854146}
+ m_Layer: 0
+ m_Name: DamageHUD_Overlay_FrontRightWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1043854145
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1043854144}
+ 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: 1793532659}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 49.21052, y: 57.36842}
+ m_SizeDelta: {x: 36.666664, y: 44.91228}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1043854146
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1043854144}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -4339465092457038690, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1043854147
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1043854144}
+ m_CullTransparentMesh: 1
+--- !u!1001 &1067984856
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.756
+ objectReference: {fileID: 0}
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.138
+ objectReference: {fileID: 0}
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (1)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 672.7
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.7491313
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 147.6
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+--- !u!1 &1069759763
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1069759764}
+ - component: {fileID: 1069759766}
+ - component: {fileID: 1069759765}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Cooler
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1069759764
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1069759763}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -0.0877213, y: 59.82455}
+ m_SizeDelta: {x: 19.122807, y: 35.08772}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1069759765
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1069759763}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -5176139028347168502, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1069759766
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1069759763}
+ m_CullTransparentMesh: 1
+--- !u!1 &1122895832
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1122895836}
+ - component: {fileID: 1122895835}
+ - component: {fileID: 1122895834}
+ - component: {fileID: 1122895833}
+ m_Layer: 0
+ m_Name: Gameplay HUD Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1122895833
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1122895832}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1122895834
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1122895832}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1920, y: 1080}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0.5
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &1122895835
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1122895832}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_UseReflectionProbes: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 20
+ m_TargetDisplay: 0
+--- !u!224 &1122895836
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1122895832}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 389042300}
+ - {fileID: 1008165835}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &1209304503
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1209304504}
+ - component: {fileID: 1209304506}
+ - component: {fileID: 1209304505}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Bumper
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1209304504
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1209304503}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 91.052635}
+ m_SizeDelta: {x: 68.42105, y: 21.052631}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1209304505
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1209304503}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 1654479436118916949, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1209304506
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1209304503}
+ m_CullTransparentMesh: 1
+--- !u!1 &1220591167
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1220591168}
+ - component: {fileID: 1220591170}
+ - component: {fileID: 1220591169}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Layer 2
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1220591168
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220591167}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 220, y: 220}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1220591169
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220591167}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 7789755812425523275, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1220591170
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220591167}
+ m_CullTransparentMesh: 1
+--- !u!1 &1224570766
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1224570769}
+ - component: {fileID: 1224570768}
+ - component: {fileID: 1224570767}
+ - component: {fileID: 1224570770}
+ m_Layer: 0
+ m_Name: RearViewMirrorCamera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1224570767
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1224570766}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b009635d9fed79946bb577254278da61, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::RaceFields.CameraSystem.RearViewMirrorCamera
+ target: {fileID: 0}
+ autoFindTarget: 1
+ targetSearchInterval: 0.35
+ localOffset: {x: 0, y: 2.1, z: 0.6}
+ lookUpBias: 0.08
+ positionLerp: 18
+ rotationLerp: 18
+--- !u!20 &1224570768
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1224570766}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_Iso: 200
+ m_ShutterSpeed: 0.005
+ m_Aperture: 16
+ m_FocusDistance: 10
+ m_FocalLength: 50
+ m_BladeCount: 5
+ m_Curvature: {x: 2, y: 11}
+ m_BarrelClipping: 0.25
+ m_Anamorphism: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.05
+ far clip plane: 260
+ field of view: 68
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -10
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 8400000, guid: 50bdd4d765aea2146ad9c6ecff404b7e, type: 2}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &1224570769
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1224570766}
+ 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 &1224570770
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1224570766}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
+ m_RenderShadows: 1
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 0
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_TaaSettings:
+ m_Quality: 3
+ m_FrameInfluence: 0.1
+ m_JitterScale: 1
+ m_MipBias: 0
+ m_VarianceClampScale: 0.9
+ m_ContrastAdaptiveSharpening: 0
+ m_Version: 2
+--- !u!1 &1238299342
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1238299343}
+ - component: {fileID: 1238299345}
+ - component: {fileID: 1238299344}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Wheel_RR
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1238299343
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1238299342}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 49.824554, y: -47.7193}
+ m_SizeDelta: {x: 35.438595, y: 45.614033}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1238299344
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1238299342}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 8811731574037704210, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1238299345
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1238299342}
+ m_CullTransparentMesh: 1
+--- !u!1001 &1306087760
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.756
+ objectReference: {fileID: 0}
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.138
+ objectReference: {fileID: 0}
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (4)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 644.2
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 7.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1232
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
--- !u!1 &1343330600
GameObject:
m_ObjectHideFlags: 0
@@ -619,6 +2366,143 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1397398362
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1397398363}
+ - component: {fileID: 1397398365}
+ - component: {fileID: 1397398364}
+ m_Layer: 0
+ m_Name: Rear View Mirror Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1397398363
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1397398362}
+ 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: 389042300}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: -12, y: -12}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1397398364
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1397398362}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RawImage
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 8400000, guid: 50bdd4d765aea2146ad9c6ecff404b7e, type: 2}
+ m_UVRect:
+ serializedVersion: 2
+ x: 1
+ y: 0
+ width: -1
+ height: 1
+--- !u!222 &1397398365
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1397398362}
+ m_CullTransparentMesh: 1
+--- !u!1001 &1543285730
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.756
+ objectReference: {fileID: 0}
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.138
+ objectReference: {fileID: 0}
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (3)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 1231
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 7.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1232
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
--- !u!1001 &1543632251
PrefabInstance:
m_ObjectHideFlags: 0
@@ -627,6 +2511,14 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.756
+ objectReference: {fileID: 0}
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.138
+ objectReference: {fileID: 0}
- target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
propertyPath: m_Name
value: Harvester
@@ -725,6 +2617,81 @@ MonoBehaviour:
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
m_Version: 2
+--- !u!1 &1720170245
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1720170246}
+ - component: {fileID: 1720170248}
+ - component: {fileID: 1720170247}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Layer 3
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1720170246
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1720170245}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 6.9298244, y: 60.4386}
+ m_SizeDelta: {x: 2.2807016, y: 48.59649}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1720170247
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1720170245}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 4186884627969957828, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1720170248
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1720170245}
+ m_CullTransparentMesh: 1
--- !u!1 &1735981100
GameObject:
m_ObjectHideFlags: 0
@@ -852,6 +2819,487 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: 180, z: 0}
+--- !u!1 &1793532658
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1793532659}
+ m_Layer: 0
+ m_Name: DamageHUD_DamageOverlays
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1793532659
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1793532658}
+ 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: 445766}
+ - {fileID: 76679996}
+ - {fileID: 1043854145}
+ - {fileID: 568949844}
+ - {fileID: 144807467}
+ - {fileID: 1918441678}
+ m_Father: {fileID: 1008165835}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1800102173
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1800102174}
+ - component: {fileID: 1800102176}
+ - component: {fileID: 1800102175}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Wheel_FR
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1800102174
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1800102173}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 49.21052, y: 57.36842}
+ m_SizeDelta: {x: 36.666664, y: 44.91228}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1800102175
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1800102173}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -4339465092457038690, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1800102176
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1800102173}
+ m_CullTransparentMesh: 1
+--- !u!1 &1858940240
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1858940241}
+ - component: {fileID: 1858940243}
+ - component: {fileID: 1858940242}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1858940241
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1858940240}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -22.894741, y: 5.61403}
+ m_SizeDelta: {x: 174.21053, y: 208.77193}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1858940242
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1858940240}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 508314956682703130, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1858940243
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1858940240}
+ m_CullTransparentMesh: 1
+--- !u!1001 &1891661156
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.756
+ objectReference: {fileID: 0}
+ - target: {fileID: 6862259535214135144, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.138
+ objectReference: {fileID: 0}
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (6)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 213.6
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 7.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 905.5
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+--- !u!1 &1918441677
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1918441678}
+ - component: {fileID: 1918441680}
+ - component: {fileID: 1918441679}
+ m_Layer: 0
+ m_Name: DamageHUD_Overlay_RearLeftWheel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1918441678
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1918441677}
+ 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: 1793532659}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -49.91228, y: -47.63158}
+ m_SizeDelta: {x: 35.263157, y: 45.78947}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1918441679
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1918441677}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -3588595044625245667, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1918441680
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1918441677}
+ m_CullTransparentMesh: 1
+--- !u!1 &1995587877
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1995587878}
+ - component: {fileID: 1995587880}
+ - component: {fileID: 1995587879}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_FuelTank_L
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1995587878
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1995587877}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -44.385963, y: -2.017548}
+ m_SizeDelta: {x: 17.894737, y: 39.473682}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1995587879
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1995587877}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -7289837775658631351, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1995587880
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1995587877}
+ m_CullTransparentMesh: 1
+--- !u!1 &2140431516
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2140431517}
+ - component: {fileID: 2140431519}
+ - component: {fileID: 2140431518}
+ m_Layer: 0
+ m_Name: DamageHUD_Base_Wheel_RL
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2140431517
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2140431516}
+ 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: 329516990}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -49.035088, y: 57.2807}
+ m_SizeDelta: {x: 37.01754, y: 45.08772}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2140431518
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2140431516}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: -5120833719104542648, guid: a4df6771917b23c4f9be6ea9e36c1bd9, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &2140431519
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2140431516}
+ m_CullTransparentMesh: 1
--- !u!1001 &2890032504799606039
PrefabInstance:
m_ObjectHideFlags: 0
@@ -960,3 +3408,12 @@ SceneRoots:
- {fileID: 602157383}
- {fileID: 1343330601}
- {fileID: 1543632251}
+ - {fileID: 1067984856}
+ - {fileID: 686067372}
+ - {fileID: 1543285730}
+ - {fileID: 1306087760}
+ - {fileID: 732405647}
+ - {fileID: 1891661156}
+ - {fileID: 1224570769}
+ - {fileID: 1122895836}
+ - {fileID: 852197356}
diff --git a/Assets/_Project/Scripts/Camera/RearView.meta b/Assets/_Project/Scripts/Camera/RearView.meta
new file mode 100644
index 0000000..3a46412
--- /dev/null
+++ b/Assets/_Project/Scripts/Camera/RearView.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f71317cc2bc384141adf6b3ba7b14528
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Scripts/Camera/RearView/RearViewMirrorCamera.cs b/Assets/_Project/Scripts/Camera/RearView/RearViewMirrorCamera.cs
new file mode 100644
index 0000000..bf5844a
--- /dev/null
+++ b/Assets/_Project/Scripts/Camera/RearView/RearViewMirrorCamera.cs
@@ -0,0 +1,70 @@
+using RaceFields.Vehicles;
+using UnityEngine;
+
+namespace RaceFields.CameraSystem
+{
+ [RequireComponent(typeof(Camera))]
+ public sealed class RearViewMirrorCamera : MonoBehaviour
+ {
+ [SerializeField] private Transform target;
+ [SerializeField] private bool autoFindTarget = true;
+ [SerializeField] private float targetSearchInterval = 0.35f;
+ [SerializeField] private Vector3 localOffset = new Vector3(0f, 2.1f, 0.6f);
+ [SerializeField] private float lookUpBias = 0.08f;
+ [SerializeField] private float positionLerp = 18f;
+ [SerializeField] private float rotationLerp = 18f;
+
+ private Camera mirrorCamera;
+ private float nextTargetSearchTime;
+
+ private void Awake()
+ {
+ mirrorCamera = GetComponent();
+ mirrorCamera.enabled = true;
+ }
+
+ private void LateUpdate()
+ {
+ ResolveTarget();
+ if (target == null)
+ return;
+
+ Vector3 desiredPosition = target.TransformPoint(localOffset);
+ Vector3 lookDirection = -target.forward + Vector3.up * lookUpBias;
+ Quaternion desiredRotation = Quaternion.LookRotation(lookDirection.normalized, Vector3.up);
+
+ float positionStep = 1f - Mathf.Exp(-positionLerp * Time.deltaTime);
+ float rotationStep = 1f - Mathf.Exp(-rotationLerp * Time.deltaTime);
+ transform.position = Vector3.Lerp(transform.position, desiredPosition, positionStep);
+ transform.rotation = Quaternion.Slerp(transform.rotation, desiredRotation, rotationStep);
+ }
+
+ public void SetTarget(Transform newTarget, bool snap)
+ {
+ target = newTarget;
+ if (snap && target != null)
+ SnapToTarget();
+ }
+
+ private void SnapToTarget()
+ {
+ transform.position = target.TransformPoint(localOffset);
+ Vector3 lookDirection = -target.forward + Vector3.up * lookUpBias;
+ transform.rotation = Quaternion.LookRotation(lookDirection.normalized, Vector3.up);
+ }
+
+ private void ResolveTarget()
+ {
+ if (target != null || !autoFindTarget)
+ return;
+
+ if (Time.unscaledTime < nextTargetSearchTime)
+ return;
+
+ nextTargetSearchTime = Time.unscaledTime + targetSearchInterval;
+ ArcadeBuggyController controller = Object.FindFirstObjectByType();
+ if (controller != null)
+ SetTarget(controller.transform, true);
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Camera/RearView/RearViewMirrorCamera.cs.meta b/Assets/_Project/Scripts/Camera/RearView/RearViewMirrorCamera.cs.meta
new file mode 100644
index 0000000..6347108
--- /dev/null
+++ b/Assets/_Project/Scripts/Camera/RearView/RearViewMirrorCamera.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: b009635d9fed79946bb577254278da61
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Damage/Core/BladeDamageSource.cs b/Assets/_Project/Scripts/Damage/Core/BladeDamageSource.cs
new file mode 100644
index 0000000..05953f2
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/BladeDamageSource.cs
@@ -0,0 +1,41 @@
+using System.Collections.Generic;
+using RaceFields.Damage.VehicleDamage;
+using UnityEngine;
+
+namespace RaceFields.Damage
+{
+ public sealed class BladeDamageSource : MonoBehaviour
+ {
+ [SerializeField] private float damagePerSecond = 80f;
+ [SerializeField] private float tickInterval = 0.2f;
+ [SerializeField] private float activationDelay = 0.75f;
+
+ private readonly Dictionary nextDamageTimes = new Dictionary();
+ private float activeAtTime;
+
+ private void OnEnable()
+ {
+ activeAtTime = Time.time + activationDelay;
+ nextDamageTimes.Clear();
+ }
+
+ private void OnTriggerStay(Collider other)
+ {
+ if (Time.time < activeAtTime)
+ return;
+
+ DamageHitbox hitbox = other.GetComponentInParent();
+ if (hitbox == null)
+ return;
+
+ float time = Time.time;
+ if (nextDamageTimes.TryGetValue(hitbox, out float nextTime) && time < nextTime)
+ return;
+
+ nextDamageTimes[hitbox] = time + tickInterval;
+ Vector3 direction = (other.transform.position - transform.position).normalized;
+ float damage = damagePerSecond * tickInterval;
+ hitbox.ApplyDamage(new DamageHit(damage, DamageType.Blade, other.ClosestPoint(transform.position), direction, gameObject));
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Damage/Core/BladeDamageSource.cs.meta b/Assets/_Project/Scripts/Damage/Core/BladeDamageSource.cs.meta
new file mode 100644
index 0000000..8ebccb3
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/BladeDamageSource.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 5483916f7ebff2c448991626172509ea
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Damage/Core/CollisionDamageSource.cs b/Assets/_Project/Scripts/Damage/Core/CollisionDamageSource.cs
new file mode 100644
index 0000000..b4319ab
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/CollisionDamageSource.cs
@@ -0,0 +1,29 @@
+using RaceFields.Damage.VehicleDamage;
+using UnityEngine;
+
+namespace RaceFields.Damage
+{
+ [RequireComponent(typeof(Rigidbody))]
+ public sealed class CollisionDamageSource : MonoBehaviour
+ {
+ [SerializeField] private float minRelativeSpeed = 7f;
+ [SerializeField] private float damagePerSpeed = 4f;
+ [SerializeField] private float maxDamage = 85f;
+ [SerializeField] private DamageType damageType = DamageType.Collision;
+
+ private void OnCollisionEnter(Collision collision)
+ {
+ float relativeSpeed = collision.relativeVelocity.magnitude;
+ if (relativeSpeed < minRelativeSpeed)
+ return;
+
+ DamageHitbox hitbox = collision.collider.GetComponentInParent();
+ if (hitbox == null)
+ return;
+
+ ContactPoint contact = collision.GetContact(0);
+ float amount = Mathf.Min(maxDamage, (relativeSpeed - minRelativeSpeed) * damagePerSpeed);
+ hitbox.ApplyDamage(new DamageHit(amount, damageType, contact.point, collision.relativeVelocity.normalized, gameObject));
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Damage/Core/CollisionDamageSource.cs.meta b/Assets/_Project/Scripts/Damage/Core/CollisionDamageSource.cs.meta
new file mode 100644
index 0000000..ee42038
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/CollisionDamageSource.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 27d1127628814c242afa8c0cafd1d278
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Damage/Core/DamageTypes.cs b/Assets/_Project/Scripts/Damage/Core/DamageTypes.cs
new file mode 100644
index 0000000..d5f7d63
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/DamageTypes.cs
@@ -0,0 +1,46 @@
+namespace RaceFields.Damage
+{
+ public enum DamageType
+ {
+ Collision,
+ Blade,
+ Projectile,
+ Debug
+ }
+
+ public enum VehicleModuleType
+ {
+ Body,
+ Engine,
+ FrontLeftWheel,
+ FrontRightWheel,
+ RearLeftWheel,
+ RearRightWheel
+ }
+
+ public enum VehicleModuleState
+ {
+ Healthy,
+ Damaged,
+ Destroyed,
+ Detached
+ }
+
+ public readonly struct DamageHit
+ {
+ public readonly float Amount;
+ public readonly DamageType Type;
+ public readonly UnityEngine.Vector3 Point;
+ public readonly UnityEngine.Vector3 Direction;
+ public readonly UnityEngine.GameObject Source;
+
+ public DamageHit(float amount, DamageType type, UnityEngine.Vector3 point, UnityEngine.Vector3 direction, UnityEngine.GameObject source)
+ {
+ Amount = amount;
+ Type = type;
+ Point = point;
+ Direction = direction;
+ Source = source;
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Damage/Core/DamageTypes.cs.meta b/Assets/_Project/Scripts/Damage/Core/DamageTypes.cs.meta
new file mode 100644
index 0000000..a6c1245
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/DamageTypes.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: afdd389aa3e96af428bc9a2dc1a28b50
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Damage/Core/SimpleDamageReceiver.cs b/Assets/_Project/Scripts/Damage/Core/SimpleDamageReceiver.cs
new file mode 100644
index 0000000..6567d7d
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/SimpleDamageReceiver.cs
@@ -0,0 +1,33 @@
+using UnityEngine;
+
+namespace RaceFields.Damage
+{
+ public sealed class SimpleDamageReceiver : MonoBehaviour
+ {
+ [SerializeField] private float maxHealth = 100f;
+ [SerializeField] private bool destroyOnDeath = true;
+ [SerializeField] private float destroyDelay;
+
+ public float CurrentHealth { get; private set; }
+ public bool IsDead { get; private set; }
+
+ private void Awake()
+ {
+ CurrentHealth = Mathf.Max(1f, maxHealth);
+ }
+
+ public void ApplyDamage(float amount, Vector3 point, Vector3 direction, GameObject source)
+ {
+ if (IsDead)
+ return;
+
+ CurrentHealth = Mathf.Max(0f, CurrentHealth - Mathf.Max(0f, amount));
+ if (CurrentHealth > 0f)
+ return;
+
+ IsDead = true;
+ if (destroyOnDeath)
+ Destroy(gameObject, destroyDelay);
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Damage/Core/SimpleDamageReceiver.cs.meta b/Assets/_Project/Scripts/Damage/Core/SimpleDamageReceiver.cs.meta
new file mode 100644
index 0000000..7560d45
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/Core/SimpleDamageReceiver.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: b84a36537942ca148a8bc4a133d96e93
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Damage/VehicleDamage/DamageHitbox.cs b/Assets/_Project/Scripts/Damage/VehicleDamage/DamageHitbox.cs
new file mode 100644
index 0000000..84040a6
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/VehicleDamage/DamageHitbox.cs
@@ -0,0 +1,28 @@
+using UnityEngine;
+
+namespace RaceFields.Damage.VehicleDamage
+{
+ public sealed class DamageHitbox : MonoBehaviour
+ {
+ [SerializeField] private VehicleDamageController damageController;
+ [SerializeField] private VehicleModuleType moduleType = VehicleModuleType.Body;
+ [SerializeField] private float damageMultiplier = 1f;
+
+ public VehicleModuleType ModuleType => moduleType;
+
+ private void Awake()
+ {
+ if (damageController == null)
+ damageController = GetComponentInParent();
+ }
+
+ public void ApplyDamage(DamageHit hit)
+ {
+ if (damageController == null)
+ return;
+
+ DamageHit scaledHit = new DamageHit(hit.Amount * damageMultiplier, hit.Type, hit.Point, hit.Direction, hit.Source);
+ damageController.ApplyDamage(moduleType, scaledHit);
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Damage/VehicleDamage/DamageHitbox.cs.meta b/Assets/_Project/Scripts/Damage/VehicleDamage/DamageHitbox.cs.meta
new file mode 100644
index 0000000..4351964
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/VehicleDamage/DamageHitbox.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 18014f9b0dee6a9498473614a3e522d8
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Damage/VehicleDamage/VehicleDamageController.cs b/Assets/_Project/Scripts/Damage/VehicleDamage/VehicleDamageController.cs
new file mode 100644
index 0000000..86c5114
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/VehicleDamage/VehicleDamageController.cs
@@ -0,0 +1,384 @@
+using System;
+using RaceFields.Vehicles;
+using UnityEngine;
+
+namespace RaceFields.Damage.VehicleDamage
+{
+ [RequireComponent(typeof(Rigidbody))]
+ [RequireComponent(typeof(ArcadeBuggyController))]
+ public sealed class VehicleDamageController : MonoBehaviour
+ {
+ [Serializable]
+ public sealed class VehicleModule
+ {
+ [SerializeField] private VehicleModuleType moduleType = VehicleModuleType.Body;
+ [SerializeField] private string displayName = "Module";
+ [SerializeField] private float maxHealth = 100f;
+ [SerializeField, Range(0f, 1f)] private float damagedHealthRatio = 0.5f;
+ [SerializeField] private WheelSlot wheelSlot;
+ [SerializeField] private bool detachWheelVisualOnDestroyed;
+ [SerializeField] private float detachImpulse = 2f;
+ [SerializeField] private float currentHealth;
+ [SerializeField] private VehicleModuleState state = VehicleModuleState.Healthy;
+
+ public VehicleModuleType ModuleType => moduleType;
+ public string DisplayName => displayName;
+ public float MaxHealth => maxHealth;
+ public float CurrentHealth => currentHealth;
+ public VehicleModuleState State => state;
+ public WheelSlot WheelSlot => wheelSlot;
+ public bool DetachWheelVisualOnDestroyed => detachWheelVisualOnDestroyed;
+ public float DetachImpulse => detachImpulse;
+ public float NormalizedHealth => maxHealth <= 0f ? 0f : Mathf.Clamp01(currentHealth / maxHealth);
+
+ public VehicleModule(VehicleModuleType moduleType, string displayName, float maxHealth)
+ {
+ this.moduleType = moduleType;
+ this.displayName = displayName;
+ this.maxHealth = maxHealth;
+ }
+
+ public VehicleModule WithWheel(WheelSlot slot, bool detachVisual)
+ {
+ wheelSlot = slot;
+ detachWheelVisualOnDestroyed = detachVisual;
+ return this;
+ }
+
+ public void ResetHealth()
+ {
+ currentHealth = Mathf.Max(1f, maxHealth);
+ state = VehicleModuleState.Healthy;
+ }
+
+ public bool ApplyDamage(float amount)
+ {
+ if (state == VehicleModuleState.Destroyed || state == VehicleModuleState.Detached)
+ return false;
+
+ VehicleModuleState previous = state;
+ currentHealth = Mathf.Max(0f, currentHealth - Mathf.Max(0f, amount));
+ state = ResolveState();
+ return previous != state;
+ }
+
+ public void MarkDetached()
+ {
+ currentHealth = 0f;
+ state = VehicleModuleState.Detached;
+ }
+
+ private VehicleModuleState ResolveState()
+ {
+ if (currentHealth <= 0f)
+ return VehicleModuleState.Destroyed;
+
+ return NormalizedHealth <= damagedHealthRatio
+ ? VehicleModuleState.Damaged
+ : VehicleModuleState.Healthy;
+ }
+ }
+
+ [Header("Modules")]
+ [SerializeField] private VehicleModule[] moduleHealth;
+
+ [Header("Startup")]
+ [SerializeField] private float spawnGraceTime = 1f;
+
+ [Header("Collision Damage")]
+ [SerializeField] private float minCollisionSpeed = 11f;
+ [SerializeField] private float collisionDamagePerSpeed = 4.5f;
+ [SerializeField] private float maxCollisionDamage = 95f;
+ [SerializeField] private float collisionCooldown = 0.25f;
+
+ [Header("Landing Damage")]
+ [SerializeField] private float minAirTimeForLandingDamage = 0.45f;
+ [SerializeField] private float minLandingDownSpeed = 9f;
+ [SerializeField] private float landingDamagePerSpeed = 4f;
+ [SerializeField] private float maxLandingDamage = 75f;
+ [SerializeField, Range(0f, 1f)] private float landingWheelDamageShare = 0.65f;
+ [SerializeField, Range(0f, 1f)] private float landingBodyDamageShare = 0.35f;
+
+ [Header("Debug")]
+ [SerializeField] private bool logDamage;
+ [SerializeField] private string lastDamageDebug;
+
+ public event Action ModuleStateChanged;
+
+ public VehicleModule[] Modules => moduleHealth;
+ public string LastDamageDebug => lastDamageDebug;
+
+ private ArcadeBuggyController buggyController;
+ private Rigidbody body;
+ private float ignoreDamageUntil;
+ private float nextCollisionDamageTime;
+ private WheelImpactState frontLeftState;
+ private WheelImpactState frontRightState;
+ private WheelImpactState rearLeftState;
+ private WheelImpactState rearRightState;
+
+ private struct WheelImpactState
+ {
+ public bool WasGrounded;
+ public float AirborneStartTime;
+ public float MaxDownSpeed;
+ }
+
+ private void Reset()
+ {
+ moduleHealth = CreateDefaultModules();
+ }
+
+ private void Awake()
+ {
+ buggyController = GetComponent();
+ body = GetComponent();
+ EnsureModules();
+ ResetModuleHealth();
+ ignoreDamageUntil = Time.time + spawnGraceTime;
+ frontLeftState.WasGrounded = true;
+ frontRightState.WasGrounded = true;
+ rearLeftState.WasGrounded = true;
+ rearRightState.WasGrounded = true;
+ }
+
+ private void FixedUpdate()
+ {
+ if (Time.time < ignoreDamageUntil)
+ return;
+
+ UpdateWheelLanding(WheelSlot.FrontLeft, VehicleModuleType.FrontLeftWheel, ref frontLeftState);
+ UpdateWheelLanding(WheelSlot.FrontRight, VehicleModuleType.FrontRightWheel, ref frontRightState);
+ UpdateWheelLanding(WheelSlot.RearLeft, VehicleModuleType.RearLeftWheel, ref rearLeftState);
+ UpdateWheelLanding(WheelSlot.RearRight, VehicleModuleType.RearRightWheel, ref rearRightState);
+ }
+
+ private void OnCollisionEnter(Collision collision)
+ {
+ if (Time.time < ignoreDamageUntil || Time.time < nextCollisionDamageTime)
+ return;
+
+ if (collision.contactCount == 0)
+ return;
+
+ ContactPoint contact = collision.GetContact(0);
+ float impactSpeed = Mathf.Abs(Vector3.Dot(collision.relativeVelocity, contact.normal));
+ if (impactSpeed < minCollisionSpeed)
+ return;
+
+ VehicleModuleType moduleType = ResolveImpactModule(contact.point);
+ float damage = Mathf.Min(maxCollisionDamage, (impactSpeed - minCollisionSpeed) * collisionDamagePerSpeed);
+ ApplyDamage(moduleType, new DamageHit(damage, DamageType.Collision, contact.point, collision.relativeVelocity.normalized, gameObject));
+ nextCollisionDamageTime = Time.time + collisionCooldown;
+ }
+
+ public void ApplyDamage(VehicleModuleType moduleType, DamageHit hit)
+ {
+ VehicleModule module = GetModule(moduleType);
+ if (module == null)
+ return;
+
+ bool changed = module.ApplyDamage(hit.Amount);
+ lastDamageDebug = $"{hit.Type}: {hit.Amount:F1} -> {moduleType}";
+
+ if (module.State == VehicleModuleState.Destroyed && IsWheelModule(module.ModuleType))
+ DisableDestroyedWheel(module);
+
+ if (logDamage)
+ Debug.Log($"{name} {lastDamageDebug}", this);
+
+ if (changed)
+ ModuleStateChanged?.Invoke(module);
+ }
+
+ public VehicleModule GetModule(VehicleModuleType moduleType)
+ {
+ EnsureModules();
+
+ for (int i = 0; i < moduleHealth.Length; i++)
+ {
+ if (moduleHealth[i] != null && moduleHealth[i].ModuleType == moduleType)
+ return moduleHealth[i];
+ }
+
+ return null;
+ }
+
+ public VehicleModuleState GetModuleState(VehicleModuleType moduleType)
+ {
+ VehicleModule module = GetModule(moduleType);
+ return module != null ? module.State : VehicleModuleState.Healthy;
+ }
+
+ public void RepairAll()
+ {
+ EnsureModules();
+
+ for (int i = 0; i < moduleHealth.Length; i++)
+ {
+ if (moduleHealth[i] == null)
+ continue;
+
+ moduleHealth[i].ResetHealth();
+ ModuleStateChanged?.Invoke(moduleHealth[i]);
+ }
+ }
+
+ private void UpdateWheelLanding(WheelSlot slot, VehicleModuleType moduleType, ref WheelImpactState state)
+ {
+ WheelCollider wheel = buggyController.GetWheelCollider(slot);
+ if (wheel == null || !wheel.enabled)
+ return;
+
+ bool grounded = wheel.isGrounded;
+ if (!grounded)
+ {
+ if (state.WasGrounded)
+ {
+ state.AirborneStartTime = Time.time;
+ state.MaxDownSpeed = 0f;
+ }
+
+ state.WasGrounded = false;
+ Vector3 gravityDirection = Physics.gravity.sqrMagnitude > 0f ? -Physics.gravity.normalized : Vector3.down;
+ float downSpeed = Vector3.Dot(body.GetPointVelocity(wheel.transform.position), gravityDirection);
+ state.MaxDownSpeed = Mathf.Max(state.MaxDownSpeed, Mathf.Max(0f, downSpeed));
+ return;
+ }
+
+ if (state.WasGrounded)
+ return;
+
+ float airTime = Time.time - state.AirborneStartTime;
+ float maxDownSpeed = state.MaxDownSpeed;
+ state.WasGrounded = true;
+ state.AirborneStartTime = 0f;
+ state.MaxDownSpeed = 0f;
+
+ if (airTime < minAirTimeForLandingDamage || maxDownSpeed < minLandingDownSpeed)
+ return;
+
+ float totalDamage = Mathf.Min(maxLandingDamage, (maxDownSpeed - minLandingDownSpeed) * landingDamagePerSpeed);
+ ApplyDamage(moduleType, new DamageHit(totalDamage * landingWheelDamageShare, DamageType.Collision, wheel.transform.position, Vector3.down, gameObject));
+
+ float bodyDamage = totalDamage * landingBodyDamageShare * 0.25f;
+ if (bodyDamage > 0f)
+ ApplyDamage(VehicleModuleType.Body, new DamageHit(bodyDamage, DamageType.Collision, wheel.transform.position, Vector3.down, gameObject));
+ }
+
+ private VehicleModuleType ResolveImpactModule(Vector3 worldPoint)
+ {
+ if (TryResolveWheelImpact(worldPoint, out WheelSlot closestWheel))
+ return WheelSlotToModule(closestWheel);
+
+ Vector3 localPoint = transform.InverseTransformPoint(worldPoint);
+ return localPoint.z > 0.65f ? VehicleModuleType.Engine : VehicleModuleType.Body;
+ }
+
+ private bool TryResolveWheelImpact(Vector3 worldPoint, out WheelSlot closestWheel)
+ {
+ closestWheel = WheelSlot.FrontLeft;
+ float bestDistance = float.MaxValue;
+ bool found = false;
+
+ CheckWheelDistance(WheelSlot.FrontLeft, worldPoint, ref closestWheel, ref bestDistance, ref found);
+ CheckWheelDistance(WheelSlot.FrontRight, worldPoint, ref closestWheel, ref bestDistance, ref found);
+ CheckWheelDistance(WheelSlot.RearLeft, worldPoint, ref closestWheel, ref bestDistance, ref found);
+ CheckWheelDistance(WheelSlot.RearRight, worldPoint, ref closestWheel, ref bestDistance, ref found);
+
+ return found;
+ }
+
+ private void CheckWheelDistance(WheelSlot slot, Vector3 worldPoint, ref WheelSlot closestWheel, ref float bestDistance, ref bool found)
+ {
+ WheelCollider wheel = buggyController.GetWheelCollider(slot);
+ if (wheel == null || !wheel.enabled)
+ return;
+
+ float limit = Mathf.Max(0.45f, wheel.radius * 1.8f);
+ float distance = Vector3.Distance(worldPoint, wheel.transform.position);
+ if (distance > limit || distance >= bestDistance)
+ return;
+
+ closestWheel = slot;
+ bestDistance = distance;
+ found = true;
+ }
+
+ private void DisableDestroyedWheel(VehicleModule module)
+ {
+ buggyController.SetWheelEnabled(module.WheelSlot, false);
+
+ if (!module.DetachWheelVisualOnDestroyed)
+ return;
+
+ Transform visual = buggyController.GetWheelVisual(module.WheelSlot);
+ if (visual == null)
+ return;
+
+ visual.SetParent(null, true);
+
+ Collider wheelCollider = visual.GetComponent();
+ if (wheelCollider == null)
+ wheelCollider = visual.gameObject.AddComponent();
+
+ Rigidbody wheelBody = visual.GetComponent();
+ if (wheelBody == null)
+ wheelBody = visual.gameObject.AddComponent();
+
+ wheelBody.mass = 18f;
+ wheelBody.interpolation = RigidbodyInterpolation.Interpolate;
+ wheelBody.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
+ wheelBody.AddForce((visual.right + Vector3.up * 0.35f) * module.DetachImpulse, ForceMode.Impulse);
+ module.MarkDetached();
+ }
+
+ private void EnsureModules()
+ {
+ if (moduleHealth == null || moduleHealth.Length == 0)
+ moduleHealth = CreateDefaultModules();
+ }
+
+ private void ResetModuleHealth()
+ {
+ for (int i = 0; i < moduleHealth.Length; i++)
+ {
+ if (moduleHealth[i] != null)
+ moduleHealth[i].ResetHealth();
+ }
+ }
+
+ private static VehicleModule[] CreateDefaultModules()
+ {
+ return new[]
+ {
+ new VehicleModule(VehicleModuleType.Body, "Body", 180f),
+ new VehicleModule(VehicleModuleType.Engine, "Engine", 120f),
+ new VehicleModule(VehicleModuleType.FrontLeftWheel, "Front Left Wheel", 70f).WithWheel(WheelSlot.FrontLeft, true),
+ new VehicleModule(VehicleModuleType.FrontRightWheel, "Front Right Wheel", 70f).WithWheel(WheelSlot.FrontRight, true),
+ new VehicleModule(VehicleModuleType.RearLeftWheel, "Rear Left Wheel", 70f).WithWheel(WheelSlot.RearLeft, true),
+ new VehicleModule(VehicleModuleType.RearRightWheel, "Rear Right Wheel", 70f).WithWheel(WheelSlot.RearRight, true)
+ };
+ }
+
+ private static bool IsWheelModule(VehicleModuleType moduleType)
+ {
+ return moduleType == VehicleModuleType.FrontLeftWheel ||
+ moduleType == VehicleModuleType.FrontRightWheel ||
+ moduleType == VehicleModuleType.RearLeftWheel ||
+ moduleType == VehicleModuleType.RearRightWheel;
+ }
+
+ private static VehicleModuleType WheelSlotToModule(WheelSlot slot)
+ {
+ return slot switch
+ {
+ WheelSlot.FrontLeft => VehicleModuleType.FrontLeftWheel,
+ WheelSlot.FrontRight => VehicleModuleType.FrontRightWheel,
+ WheelSlot.RearLeft => VehicleModuleType.RearLeftWheel,
+ WheelSlot.RearRight => VehicleModuleType.RearRightWheel,
+ _ => VehicleModuleType.Body
+ };
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Damage/VehicleDamage/VehicleDamageController.cs.meta b/Assets/_Project/Scripts/Damage/VehicleDamage/VehicleDamageController.cs.meta
new file mode 100644
index 0000000..1acd02b
--- /dev/null
+++ b/Assets/_Project/Scripts/Damage/VehicleDamage/VehicleDamageController.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 23a901881a64d704fbdbdf8716ec0229
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Editor/BuggyPrefabBuilder.cs b/Assets/_Project/Scripts/Editor/BuggyPrefabBuilder.cs
index d99e054..ee6d277 100644
--- a/Assets/_Project/Scripts/Editor/BuggyPrefabBuilder.cs
+++ b/Assets/_Project/Scripts/Editor/BuggyPrefabBuilder.cs
@@ -1,4 +1,5 @@
using RaceFields.CameraSystem;
+using RaceFields.Damage.VehicleDamage;
using RaceFields.Vehicles;
using UnityEditor;
using UnityEngine;
@@ -24,7 +25,7 @@ namespace RaceFields.EditorTools
EnsureComponent(root, ConfigureBody);
EnsureComponent(root, collider => ConfigureBodyCollider(root, collider));
ArcadeBuggyController controller = EnsureComponent(root, null);
- BuggyWheelSetup wheelSetup = EnsureComponent(root, ConfigureWheelSetup);
+ EnsureComponent(root, null);
SetupWheel(root.transform, "Wheel_FL", "WheelCollider_FL");
SetupWheel(root.transform, "Wheel_FR", "WheelCollider_FR");
@@ -34,8 +35,6 @@ namespace RaceFields.EditorTools
SetupEffects(root.transform, controller);
SetupSounds(root.transform, controller);
- wheelSetup.AlignAllWheels();
-
PrefabUtility.SaveAsPrefabAsset(root, BuggyPrefabPath);
}
finally
@@ -172,20 +171,6 @@ namespace RaceFields.EditorTools
wheelCollider.suspensionSpring = spring;
}
- private static void ConfigureWheelSetup(BuggyWheelSetup setup)
- {
- SerializedObject serializedSetup = new SerializedObject(setup);
- serializedSetup.FindProperty("frontLeftWheelName").stringValue = "Wheel_FL";
- serializedSetup.FindProperty("frontRightWheelName").stringValue = "Wheel_FR";
- serializedSetup.FindProperty("rearLeftWheelName").stringValue = "Wheel_RL";
- serializedSetup.FindProperty("rearRightWheelName").stringValue = "Wheel_RR";
- serializedSetup.FindProperty("frontLeftColliderName").stringValue = "WheelCollider_FL";
- serializedSetup.FindProperty("frontRightColliderName").stringValue = "WheelCollider_FR";
- serializedSetup.FindProperty("rearLeftColliderName").stringValue = "WheelCollider_RL";
- serializedSetup.FindProperty("rearRightColliderName").stringValue = "WheelCollider_RR";
- serializedSetup.ApplyModifiedPropertiesWithoutUndo();
- }
-
private static void SetupControllerReferences(Transform root, ArcadeBuggyController controller)
{
SerializedObject serializedController = new SerializedObject(controller);
diff --git a/Assets/_Project/Scripts/GameFlow/SelectedVehicleSpawner.cs b/Assets/_Project/Scripts/GameFlow/SelectedVehicleSpawner.cs
index bdb6b88..6fb38e8 100644
--- a/Assets/_Project/Scripts/GameFlow/SelectedVehicleSpawner.cs
+++ b/Assets/_Project/Scripts/GameFlow/SelectedVehicleSpawner.cs
@@ -1,4 +1,6 @@
using RaceFields.CameraSystem;
+using RaceFields.Damage.VehicleDamage;
+using RaceFields.UI.HUD;
using RaceFields.Vehicles;
using UnityEngine;
@@ -22,18 +24,34 @@ namespace RaceFields.GameFlow
Transform targetSpawn = spawnPoint != null ? spawnPoint : transform;
GameObject vehicle = Instantiate(prefab, targetSpawn.position, targetSpawn.rotation);
AssignCameraTarget(vehicle.transform);
+ AssignDamageHud(vehicle);
}
private static void AssignCameraTarget(Transform vehicle)
{
- BuggyFollowCamera followCamera = FindFirstObjectByType();
+ BuggyFollowCamera followCamera = FindAnyObjectByType();
if (followCamera != null)
followCamera.SetTarget(vehicle, true);
+
+ RearViewMirrorCamera rearViewCamera = FindAnyObjectByType();
+ if (rearViewCamera != null)
+ rearViewCamera.SetTarget(vehicle, true);
+ }
+
+ private static void AssignDamageHud(GameObject vehicle)
+ {
+ VehicleDamageController damageController = vehicle.GetComponentInChildren();
+ if (damageController == null)
+ return;
+
+ VehicleDamageHud damageHud = FindAnyObjectByType();
+ if (damageHud != null)
+ damageHud.Bind(damageController);
}
private static void DestroyExistingVehicleControllers()
{
- ArcadeBuggyController[] existingVehicles = FindObjectsByType(FindObjectsSortMode.None);
+ ArcadeBuggyController[] existingVehicles = FindObjectsByType(FindObjectsInactive.Exclude);
for (int i = 0; i < existingVehicles.Length; i++)
{
if (existingVehicles[i] != null)
diff --git a/Assets/_Project/Scripts/PowerUps/Core/WeaponPickup.cs b/Assets/_Project/Scripts/PowerUps/Core/WeaponPickup.cs
new file mode 100644
index 0000000..43f3b77
--- /dev/null
+++ b/Assets/_Project/Scripts/PowerUps/Core/WeaponPickup.cs
@@ -0,0 +1,20 @@
+using UnityEngine;
+
+public class WeaponPickup : MonoBehaviour
+{
+ [SerializeField] private GameObject pickupPrefab;
+
+ private void OnTriggerEnter(Collider other)
+ {
+ if (pickupPrefab == null)
+ return;
+
+ VehicleWeaponInventory inventory = other.GetComponentInParent();
+ if (inventory == null)
+ return;
+
+ inventory.AddWeapon(pickupPrefab);
+ Destroy(gameObject);
+ }
+}
+
diff --git a/Assets/_Project/Scripts/PowerUps/Core/WeaponPickup.cs.meta b/Assets/_Project/Scripts/PowerUps/Core/WeaponPickup.cs.meta
new file mode 100644
index 0000000..cab2f88
--- /dev/null
+++ b/Assets/_Project/Scripts/PowerUps/Core/WeaponPickup.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 9ba2d729446c7924fae0c23b6f68a343
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/UI/HUD/VehicleDamageHud.cs b/Assets/_Project/Scripts/UI/HUD/VehicleDamageHud.cs
new file mode 100644
index 0000000..28cbfc5
--- /dev/null
+++ b/Assets/_Project/Scripts/UI/HUD/VehicleDamageHud.cs
@@ -0,0 +1,127 @@
+using RaceFields.Damage;
+using RaceFields.Damage.VehicleDamage;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace RaceFields.UI.HUD
+{
+ public sealed class VehicleDamageHud : MonoBehaviour
+ {
+ [System.Serializable]
+ public sealed class ModuleImage
+ {
+ public VehicleModuleType moduleType;
+ public Image image;
+ }
+
+ [SerializeField] private VehicleDamageController target;
+ [SerializeField] private bool autoFindTarget = true;
+ [SerializeField] private float targetSearchInterval = 0.35f;
+ [SerializeField] private Image fullVehicleImage;
+ [SerializeField] private ModuleImage[] moduleImages;
+ [SerializeField] private Color healthyColor = new Color(1f, 1f, 1f, 0f);
+ [SerializeField] private Color damagedColor = new Color(1f, 0f, 0f, 0.7f);
+ [SerializeField] private Color destroyedColor = new Color(0f, 0f, 0f, 0.85f);
+
+ private VehicleDamageController boundTarget;
+ private float nextTargetSearchTime;
+
+ private void OnEnable()
+ {
+ Bind(target);
+ }
+
+ private void OnDisable()
+ {
+ Unbind();
+ }
+
+ private void Update()
+ {
+ if (target != null || !autoFindTarget)
+ return;
+
+ if (Time.unscaledTime < nextTargetSearchTime)
+ return;
+
+ nextTargetSearchTime = Time.unscaledTime + targetSearchInterval;
+ Bind(Object.FindAnyObjectByType());
+ }
+
+ public void Bind(VehicleDamageController newTarget)
+ {
+ if (boundTarget == newTarget)
+ {
+ target = newTarget;
+ RefreshAll();
+ return;
+ }
+
+ Unbind();
+ target = newTarget;
+ boundTarget = newTarget;
+ if (boundTarget != null)
+ boundTarget.ModuleStateChanged += HandleModuleStateChanged;
+
+ RefreshAll();
+ }
+
+ private void Unbind()
+ {
+ if (boundTarget != null)
+ boundTarget.ModuleStateChanged -= HandleModuleStateChanged;
+
+ boundTarget = null;
+ }
+
+ private void HandleModuleStateChanged(VehicleDamageController.VehicleModule module)
+ {
+ RefreshModule(module);
+ }
+
+ private void RefreshAll()
+ {
+ if (fullVehicleImage != null)
+ {
+ fullVehicleImage.enabled = true;
+ fullVehicleImage.color = Color.white;
+ }
+
+ if (moduleImages == null)
+ return;
+
+ for (int i = 0; i < moduleImages.Length; i++)
+ {
+ VehicleDamageController.VehicleModule module = target != null ? target.GetModule(moduleImages[i].moduleType) : null;
+ SetModuleImage(moduleImages[i], module != null ? module.State : VehicleModuleState.Healthy);
+ }
+ }
+
+ private void RefreshModule(VehicleDamageController.VehicleModule module)
+ {
+ if (moduleImages == null || module == null)
+ return;
+
+ for (int i = 0; i < moduleImages.Length; i++)
+ {
+ if (moduleImages[i].moduleType == module.ModuleType)
+ SetModuleImage(moduleImages[i], module.State);
+ }
+ }
+
+ private void SetModuleImage(ModuleImage moduleImage, VehicleModuleState state)
+ {
+ if (moduleImage == null || moduleImage.image == null)
+ return;
+
+ moduleImage.image.enabled = true;
+ moduleImage.image.color = state switch
+ {
+ VehicleModuleState.Damaged => damagedColor,
+ VehicleModuleState.Destroyed => destroyedColor,
+ VehicleModuleState.Detached => destroyedColor,
+ _ => healthyColor
+ };
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/UI/HUD/VehicleDamageHud.cs.meta b/Assets/_Project/Scripts/UI/HUD/VehicleDamageHud.cs.meta
new file mode 100644
index 0000000..8458a81
--- /dev/null
+++ b/Assets/_Project/Scripts/UI/HUD/VehicleDamageHud.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 0bfd334c2a5c6d34b95197adeff4252e
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Vehicles/Controller/ArcadeBuggyController.cs b/Assets/_Project/Scripts/Vehicles/Controller/ArcadeBuggyController.cs
index cf7b54a..83fd684 100644
--- a/Assets/_Project/Scripts/Vehicles/Controller/ArcadeBuggyController.cs
+++ b/Assets/_Project/Scripts/Vehicles/Controller/ArcadeBuggyController.cs
@@ -50,6 +50,42 @@ namespace RaceFields.Vehicles
public bool IsDrifting { get; private set; }
public bool IsTractionLocked { get; private set; }
+ public WheelCollider GetWheelCollider(WheelSlot slot)
+ {
+ return slot switch
+ {
+ WheelSlot.FrontLeft => frontLeftCollider,
+ WheelSlot.FrontRight => frontRightCollider,
+ WheelSlot.RearLeft => rearLeftCollider,
+ WheelSlot.RearRight => rearRightCollider,
+ _ => null
+ };
+ }
+
+ public Transform GetWheelVisual(WheelSlot slot)
+ {
+ return slot switch
+ {
+ WheelSlot.FrontLeft => frontLeftVisual,
+ WheelSlot.FrontRight => frontRightVisual,
+ WheelSlot.RearLeft => rearLeftVisual,
+ WheelSlot.RearRight => rearRightVisual,
+ _ => null
+ };
+ }
+
+ public void SetWheelEnabled(WheelSlot slot, bool enabled)
+ {
+ WheelCollider wheel = GetWheelCollider(slot);
+ if (wheel != null)
+ {
+ wheel.motorTorque = 0f;
+ wheel.brakeTorque = enabled ? 0f : brakeForce;
+ wheel.steerAngle = 0f;
+ wheel.enabled = enabled;
+ }
+ }
+
private const float TorquePerAccelerationStep = 50f;
private const float DriftVelocityThreshold = 2.5f;
private const float SkidVelocityThreshold = 5f;
@@ -83,7 +119,7 @@ namespace RaceFields.Vehicles
private void Awake()
{
body = GetComponent();
- AutoFindReferences();
+ ValidateRequiredReferences();
CacheVisualRotationOffsets();
CacheWheelFriction();
@@ -197,7 +233,7 @@ namespace RaceFields.Vehicles
throttleAxis = Mathf.MoveTowards(throttleAxis, 0f, Time.fixedDeltaTime * 10f);
ApplyMotorTorque(0f);
- if (!handbrakeInput)
+ if (!handbrakeInput && IsAnyWheelGrounded())
{
ApplyBrakeTorque(0f);
body.linearVelocity *= 1f / (1f + 0.025f * decelerationMultiplier);
@@ -229,6 +265,9 @@ namespace RaceFields.Vehicles
private void ApplyDownforce()
{
+ if (!IsAnyWheelGrounded())
+ return;
+
body.AddForce(-transform.up * downforce * body.linearVelocity.magnitude, ForceMode.Force);
}
@@ -310,7 +349,7 @@ namespace RaceFields.Vehicles
private void ApplySidewaysFriction(WheelCollider wheel, ref WheelFrictionCurve friction, float defaultExtremumSlip, float drift)
{
- if (wheel == null)
+ if (wheel == null || !wheel.enabled)
return;
float driftExtremumSlip = defaultExtremumSlip * handbrakeDriftMultiplier;
@@ -336,25 +375,25 @@ namespace RaceFields.Vehicles
private static void SetSteerAngle(WheelCollider wheel, float angle, float lerp)
{
- if (wheel != null)
+ if (wheel != null && wheel.enabled)
wheel.steerAngle = Mathf.Lerp(wheel.steerAngle, angle, lerp);
}
private static void SetDriveTorque(WheelCollider wheel, float torque)
{
- if (wheel != null)
+ if (wheel != null && wheel.enabled)
wheel.motorTorque = torque;
}
private static void SetBrakeTorque(WheelCollider wheel, float torque)
{
- if (wheel != null)
+ if (wheel != null && wheel.enabled)
wheel.brakeTorque = torque;
}
private static void SyncWheelVisual(WheelCollider collider, Transform visual, Quaternion visualRotationOffset)
{
- if (collider == null || visual == null)
+ if (collider == null || !collider.enabled || visual == null)
return;
collider.GetWorldPose(out Vector3 position, out Quaternion rotation);
@@ -388,7 +427,15 @@ namespace RaceFields.Vehicles
private static bool IsWheelGrounded(WheelCollider wheel)
{
- return wheel != null && wheel.isGrounded;
+ return wheel != null && wheel.enabled && wheel.isGrounded;
+ }
+
+ private bool IsAnyWheelGrounded()
+ {
+ return IsWheelGrounded(frontLeftCollider) ||
+ IsWheelGrounded(frontRightCollider) ||
+ IsWheelGrounded(rearLeftCollider) ||
+ IsWheelGrounded(rearRightCollider);
}
private static void StopAudio(AudioSource source)
@@ -397,25 +444,13 @@ namespace RaceFields.Vehicles
source.Stop();
}
- private void AutoFindReferences()
+ private void ValidateRequiredReferences()
{
- frontLeftCollider ??= FindChildComponent("WheelCollider_FL");
- frontRightCollider ??= FindChildComponent("WheelCollider_FR");
- rearLeftCollider ??= FindChildComponent("WheelCollider_RL");
- rearRightCollider ??= FindChildComponent("WheelCollider_RR");
+ if (frontLeftCollider != null && frontRightCollider != null && rearLeftCollider != null && rearRightCollider != null)
+ return;
- frontLeftVisual ??= FindFirstChildTransform("F_L", "WheelVisual_FL");
- frontRightVisual ??= FindFirstChildTransform("F_R", "WheelVisual_FR");
- rearLeftVisual ??= FindFirstChildTransform("B_L", "WheelVisual_RL");
- rearRightVisual ??= FindFirstChildTransform("B_R", "WheelVisual_RR");
-
- rearLeftSmoke ??= FindChildComponent("LeftTireSmoke_PS");
- rearRightSmoke ??= FindChildComponent("RightTireSmoke_PS");
- rearLeftSkid ??= FindChildComponent("LeftTireSkid");
- rearRightSkid ??= FindChildComponent("RightTireSkid");
-
- engineSound ??= FindChildComponent("EngineSound");
- tireScreechSound ??= FindChildComponent("TireScreechSound");
+ Debug.LogError($"{name} is missing one or more wheel collider references.", this);
+ enabled = false;
}
private void CacheVisualRotationOffsets()
@@ -434,34 +469,5 @@ namespace RaceFields.Vehicles
return Quaternion.Inverse(collider.transform.rotation) * visual.rotation;
}
- private T FindChildComponent(string childName) where T : Component
- {
- Transform child = FindChildTransform(childName);
- return child != null ? child.GetComponent() : null;
- }
-
- private Transform FindChildTransform(string childName)
- {
- Transform[] children = GetComponentsInChildren(true);
- for (int i = 0; i < children.Length; i++)
- {
- if (children[i].name == childName)
- return children[i];
- }
-
- return null;
- }
-
- private Transform FindFirstChildTransform(params string[] childNames)
- {
- for (int i = 0; i < childNames.Length; i++)
- {
- Transform child = FindChildTransform(childNames[i]);
- if (child != null)
- return child;
- }
-
- return null;
- }
}
}
diff --git a/Assets/_Project/Scripts/Vehicles/Wheels/BuggyWheelSetup.cs b/Assets/_Project/Scripts/Vehicles/Wheels/BuggyWheelSetup.cs
deleted file mode 100644
index 1fa10a9..0000000
--- a/Assets/_Project/Scripts/Vehicles/Wheels/BuggyWheelSetup.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-using UnityEngine;
-
-namespace RaceFields.Vehicles
-{
- [ExecuteAlways]
- public sealed class BuggyWheelSetup : MonoBehaviour
- {
- [SerializeField] private string frontLeftWheelName = "F_L";
- [SerializeField] private string frontRightWheelName = "F_R";
- [SerializeField] private string rearLeftWheelName = "B_L";
- [SerializeField] private string rearRightWheelName = "B_R";
-
- [SerializeField] private string frontLeftColliderName = "WheelCollider_FL";
- [SerializeField] private string frontRightColliderName = "WheelCollider_FR";
- [SerializeField] private string rearLeftColliderName = "WheelCollider_RL";
- [SerializeField] private string rearRightColliderName = "WheelCollider_RR";
-
- [SerializeField] private float radiusMultiplier = 0.5f;
- [SerializeField] private float minimumRadius = 0.12f;
- [SerializeField] private float suspensionDistance = 0.28f;
- [SerializeField] private float wheelMass = 20f;
-
- private void Awake()
- {
- AlignAllWheels();
- }
-
- private void OnValidate()
- {
- AlignAllWheels();
- }
-
- [ContextMenu("Align Wheel Colliders")]
- public void AlignAllWheels()
- {
- AlignWheel(frontLeftWheelName, frontLeftColliderName);
- AlignWheel(frontRightWheelName, frontRightColliderName);
- AlignWheel(rearLeftWheelName, rearLeftColliderName);
- AlignWheel(rearRightWheelName, rearRightColliderName);
- }
-
- private void AlignWheel(string visualName, string colliderName)
- {
- Transform visual = FindChild(visualName);
- WheelCollider wheelCollider = FindWheelCollider(colliderName);
-
- if (visual == null || wheelCollider == null)
- return;
-
- wheelCollider.transform.position = visual.position;
- wheelCollider.transform.rotation = transform.rotation;
- wheelCollider.transform.localScale = Vector3.one;
-
- wheelCollider.mass = wheelMass;
- wheelCollider.radius = Mathf.Max(minimumRadius, EstimateWheelRadius(visual) * radiusMultiplier);
- wheelCollider.suspensionDistance = suspensionDistance;
- wheelCollider.forceAppPointDistance = 0.05f;
- wheelCollider.wheelDampingRate = 0.35f;
- }
-
- private float EstimateWheelRadius(Transform visual)
- {
- Renderer renderer = visual.GetComponentInChildren();
- if (renderer == null)
- return minimumRadius;
-
- Vector3 size = renderer.bounds.size;
- return Mathf.Max(size.y, size.z);
- }
-
- private WheelCollider FindWheelCollider(string colliderName)
- {
- Transform child = FindChild(colliderName);
- return child != null ? child.GetComponent() : null;
- }
-
- private Transform FindChild(string childName)
- {
- Transform[] children = GetComponentsInChildren(true);
- for (int i = 0; i < children.Length; i++)
- {
- if (children[i].name == childName)
- return children[i];
- }
-
- return null;
- }
- }
-}
diff --git a/Assets/_Project/Scripts/Vehicles/Wheels/BuggyWheelSetup.cs.meta b/Assets/_Project/Scripts/Vehicles/Wheels/BuggyWheelSetup.cs.meta
deleted file mode 100644
index 6ecc6cb..0000000
--- a/Assets/_Project/Scripts/Vehicles/Wheels/BuggyWheelSetup.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 5f00271deee9d014d92d5672e1fe2baa
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Vehicles/Wheels/WheelSlot.cs b/Assets/_Project/Scripts/Vehicles/Wheels/WheelSlot.cs
new file mode 100644
index 0000000..ea8894b
--- /dev/null
+++ b/Assets/_Project/Scripts/Vehicles/Wheels/WheelSlot.cs
@@ -0,0 +1,10 @@
+namespace RaceFields.Vehicles
+{
+ public enum WheelSlot
+ {
+ FrontLeft,
+ FrontRight,
+ RearLeft,
+ RearRight
+ }
+}
diff --git a/Assets/_Project/Scripts/Vehicles/Wheels/WheelSlot.cs.meta b/Assets/_Project/Scripts/Vehicles/Wheels/WheelSlot.cs.meta
new file mode 100644
index 0000000..a922dc5
--- /dev/null
+++ b/Assets/_Project/Scripts/Vehicles/Wheels/WheelSlot.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 56b479bfe048d174ab8a31e6e5ffb13c
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Weapons/Core/VehicleWeaponInventory.cs b/Assets/_Project/Scripts/Weapons/Core/VehicleWeaponInventory.cs
new file mode 100644
index 0000000..e8456b3
--- /dev/null
+++ b/Assets/_Project/Scripts/Weapons/Core/VehicleWeaponInventory.cs
@@ -0,0 +1,26 @@
+using UnityEngine;
+
+public class VehicleWeaponInventory : MonoBehaviour
+{
+ [SerializeField] private GameObject currentWeapon;
+ [SerializeField] private Transform spawnPoint;
+
+ public void AddWeapon(GameObject weaponPrefab)
+ {
+ if (weaponPrefab == null)
+ return;
+
+ if (currentWeapon != null)
+ Destroy(currentWeapon);
+
+ Transform parent = spawnPoint != null ? spawnPoint : transform;
+ currentWeapon = Instantiate(weaponPrefab, parent);
+ currentWeapon.transform.localPosition = Vector3.zero;
+ currentWeapon.transform.localRotation = Quaternion.identity;
+
+ MachineGunWeapon machineGun = currentWeapon.GetComponentInChildren();
+ if (machineGun != null)
+ machineGun.SetOwner(transform);
+ }
+}
+
diff --git a/Assets/_Project/Scripts/Weapons/Core/VehicleWeaponInventory.cs.meta b/Assets/_Project/Scripts/Weapons/Core/VehicleWeaponInventory.cs.meta
new file mode 100644
index 0000000..9082812
--- /dev/null
+++ b/Assets/_Project/Scripts/Weapons/Core/VehicleWeaponInventory.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 89aedc67121ea4f4c98085bc8c9ad0d4
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Weapons/Guns/BulletProjectile.cs b/Assets/_Project/Scripts/Weapons/Guns/BulletProjectile.cs
new file mode 100644
index 0000000..96cc393
--- /dev/null
+++ b/Assets/_Project/Scripts/Weapons/Guns/BulletProjectile.cs
@@ -0,0 +1,81 @@
+using RaceFields.Damage;
+using RaceFields.Damage.VehicleDamage;
+using UnityEngine;
+
+public sealed class BulletProjectile : MonoBehaviour
+{
+ [SerializeField] private float damage = 8f;
+ [SerializeField] private float impactForce = 25f;
+ [SerializeField] private float lifeTime = 2.5f;
+
+ private Transform ownerRoot;
+ private Rigidbody body;
+ private bool hasHit;
+
+ private void Awake()
+ {
+ body = GetComponent();
+ }
+
+private void OnEnable()
+ {
+ hasHit = false;
+ }
+
+public void Launch(Vector3 velocity, float shotDamage, float shotLifeTime, Transform owner)
+ {
+ damage = shotDamage;
+ lifeTime = Mathf.Max(0.05f, shotLifeTime);
+ ownerRoot = owner != null ? owner.root : null;
+
+ if (body == null)
+ body = GetComponent();
+
+ if (body != null)
+ body.linearVelocity = velocity;
+
+ Destroy(gameObject, lifeTime);
+ }
+
+ private void OnCollisionEnter(Collision collision)
+ {
+ if (collision.collider == null)
+ return;
+
+ Vector3 point = collision.contactCount > 0 ? collision.GetContact(0).point : transform.position;
+ HandleHit(collision.collider, point, body != null ? body.linearVelocity.normalized : transform.forward, collision.rigidbody);
+ }
+
+ private void OnTriggerEnter(Collider other)
+ {
+ HandleHit(other, transform.position, body != null ? body.linearVelocity.normalized : transform.forward, other.attachedRigidbody);
+ }
+
+ private void HandleHit(Collider hitCollider, Vector3 point, Vector3 direction, Rigidbody hitBody)
+ {
+ if (hasHit || hitCollider == null)
+ return;
+
+ if (ownerRoot != null && hitCollider.transform.root == ownerRoot)
+ return;
+
+ hasHit = true;
+
+ DamageHitbox hitbox = hitCollider.GetComponentInParent();
+ if (hitbox != null)
+ {
+ hitbox.ApplyDamage(new DamageHit(damage, DamageType.Projectile, point, direction, gameObject));
+ }
+ else
+ {
+ SimpleDamageReceiver damageReceiver = hitCollider.GetComponentInParent();
+ if (damageReceiver != null)
+ damageReceiver.ApplyDamage(damage, point, direction, gameObject);
+ }
+
+ if (hitBody != null && (ownerRoot == null || hitBody.transform.root != ownerRoot))
+ hitBody.AddForceAtPosition(direction * impactForce, point, ForceMode.Impulse);
+
+ Destroy(gameObject);
+ }
+}
diff --git a/Assets/_Project/Scripts/Weapons/Guns/BulletProjectile.cs.meta b/Assets/_Project/Scripts/Weapons/Guns/BulletProjectile.cs.meta
new file mode 100644
index 0000000..64bb9f2
--- /dev/null
+++ b/Assets/_Project/Scripts/Weapons/Guns/BulletProjectile.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 9a787488e597d6a4ca2a4d452e6ee62a
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Weapons/Guns/MachineGunWeapon.cs b/Assets/_Project/Scripts/Weapons/Guns/MachineGunWeapon.cs
new file mode 100644
index 0000000..8d2ab6a
--- /dev/null
+++ b/Assets/_Project/Scripts/Weapons/Guns/MachineGunWeapon.cs
@@ -0,0 +1,151 @@
+using RaceFields.Harvesters.AI;
+using UnityEngine;
+#if ENABLE_INPUT_SYSTEM
+using UnityEngine.InputSystem;
+#endif
+
+public sealed class MachineGunWeapon : MonoBehaviour
+{
+ [Header("References")]
+ [SerializeField] private Transform aimPivot;
+ [SerializeField] private Transform muzzle;
+ [SerializeField] private BulletProjectile projectilePrefab;
+ [SerializeField] private ParticleSystem muzzleFlash;
+
+ [Header("Targeting")]
+ [SerializeField] private float targetSearchRadius = 80f;
+ [SerializeField] private float targetHeightOffset = 1.1f;
+ [SerializeField] private float aimTurnSpeed = 18f;
+
+ [Header("Shooting")]
+ [SerializeField] private float fireRate = 12f;
+ [SerializeField] private float damagePerShot = 8f;
+ [SerializeField] private float projectileSpeed = 70f;
+ [SerializeField] private float projectileLifeTime = 2.5f;
+ [SerializeField] private float spreadAngle = 1.2f;
+
+ private Transform ownerRoot;
+ private Transform currentTarget;
+ private float nextShotTime;
+
+ private void Awake()
+ {
+ if (aimPivot == null)
+ aimPivot = transform;
+ if (muzzle == null)
+ muzzle = transform;
+ }
+
+ private void OnEnable()
+ {
+ nextShotTime = 0f;
+ }
+
+ private void Update()
+ {
+ AcquireTarget();
+ AimAtTarget();
+
+ if (IsFireHeld())
+ TryShoot();
+ }
+
+ public void SetOwner(Transform owner)
+ {
+ ownerRoot = owner != null ? owner.root : null;
+ }
+
+ private void AcquireTarget()
+ {
+ if (IsValidTarget(currentTarget))
+ return;
+
+ currentTarget = null;
+ HarvesterChaseController[] enemies = Object.FindObjectsByType(FindObjectsInactive.Exclude, FindObjectsSortMode.None);
+ float bestDistanceSqr = targetSearchRadius * targetSearchRadius;
+ Vector3 origin = transform.position;
+
+ for (int i = 0; i < enemies.Length; i++)
+ {
+ if (enemies[i] == null)
+ continue;
+
+ Transform candidate = enemies[i].transform;
+ float distanceSqr = (candidate.position - origin).sqrMagnitude;
+ if (distanceSqr >= bestDistanceSqr)
+ continue;
+
+ currentTarget = candidate;
+ bestDistanceSqr = distanceSqr;
+ }
+ }
+
+ private bool IsValidTarget(Transform target)
+ {
+ if (target == null || !target.gameObject.activeInHierarchy)
+ return false;
+
+ return (target.position - transform.position).sqrMagnitude <= targetSearchRadius * targetSearchRadius;
+ }
+
+ private void AimAtTarget()
+ {
+ if (currentTarget == null || aimPivot == null)
+ return;
+
+ Vector3 targetPoint = currentTarget.position + Vector3.up * targetHeightOffset;
+ Vector3 direction = targetPoint - aimPivot.position;
+ if (direction.sqrMagnitude < 0.001f)
+ return;
+
+ Quaternion targetRotation = Quaternion.LookRotation(direction.normalized, Vector3.up);
+ aimPivot.rotation = Quaternion.Slerp(aimPivot.rotation, targetRotation, aimTurnSpeed * Time.deltaTime);
+ }
+
+ private void TryShoot()
+ {
+ if (Time.time < nextShotTime || projectilePrefab == null)
+ return;
+
+ nextShotTime = Time.time + 1f / Mathf.Max(0.01f, fireRate);
+ ShootProjectile();
+ }
+
+ private void ShootProjectile()
+ {
+ Vector3 direction = ApplySpread(muzzle.forward);
+ BulletProjectile projectile = Instantiate(projectilePrefab, muzzle.position, Quaternion.LookRotation(direction, Vector3.up));
+ projectile.Launch(direction * projectileSpeed, damagePerShot, projectileLifeTime, ownerRoot);
+
+ if (muzzleFlash != null)
+ muzzleFlash.Play();
+ }
+
+
+
+
+ private Vector3 ApplySpread(Vector3 direction)
+ {
+ if (spreadAngle <= 0f)
+ return direction.normalized;
+
+ Quaternion spread = Quaternion.Euler(
+ Random.Range(-spreadAngle, spreadAngle),
+ Random.Range(-spreadAngle, spreadAngle),
+ 0f);
+ return (spread * direction).normalized;
+ }
+
+ private static bool IsFireHeld()
+ {
+#if ENABLE_INPUT_SYSTEM
+ if (Mouse.current != null)
+ return Mouse.current.leftButton.isPressed;
+#endif
+#if ENABLE_LEGACY_INPUT_MANAGER
+ return Input.GetMouseButton(0);
+#else
+ return false;
+#endif
+ }
+}
diff --git a/Assets/_Project/Scripts/Weapons/Guns/MachineGunWeapon.cs.meta b/Assets/_Project/Scripts/Weapons/Guns/MachineGunWeapon.cs.meta
new file mode 100644
index 0000000..9b8fcc2
--- /dev/null
+++ b/Assets/_Project/Scripts/Weapons/Guns/MachineGunWeapon.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: d3422cd562818d448a78afdc747d8166
\ No newline at end of file
diff --git a/Assets/_Recovery/0 (3).unity b/Assets/_Recovery/0 (3).unity
new file mode 100644
index 0000000..55914e9
--- /dev/null
+++ b/Assets/_Recovery/0 (3).unity
@@ -0,0 +1,1078 @@
+%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: 10
+ 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.71
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 2100000, guid: 4e6dff801eb13874a87d918fab5e0ff1, type: 2}
+ 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: 1735981102}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ 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_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 2
+ 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: 1
+ m_PVRFilteringGaussRadiusAO: 1
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 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!1001 &73962577
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 252.4
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.7491313
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 85.8
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+--- !u!1001 &180403638
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 175.07033
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.3290446
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 103.107475
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 919132149155446097, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+ propertyPath: m_Name
+ value: free lowpoly barrels
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 0ea2124e3f0e4d24d8e31a55148c7e5e, type: 3}
+--- !u!1001 &403650711
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (2)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 252.4
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.7491313
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 129.3
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, 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
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 708861056}
+ - component: {fileID: 708861055}
+ m_Layer: 0
+ m_Name: PostProcessing
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &708861055
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 708861054}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.Volume
+ m_IsGlobal: 1
+ priority: 0
+ blendDistance: 0
+ weight: 1
+ sharedProfile: {fileID: 11400000, guid: dfd35ec7e507d4345813561dc51d3f2a, type: 2}
+--- !u!4 &708861056
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 708861054}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 277.7359, y: 1.78987, z: 204.98322}
+ 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 &765191281
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 765191284}
+ - component: {fileID: 765191283}
+ - component: {fileID: 765191282}
+ m_Layer: 0
+ m_Name: Terrain
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 2147483647
+ m_IsActive: 1
+--- !u!154 &765191282
+TerrainCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 765191281}
+ m_Material: {fileID: 13400000, guid: fde663cc303af38428fced16ed2ec0d1, type: 2}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_TerrainData: {fileID: 15600000, guid: aebf3c117d0a5e042a1fc7ec8080367d, type: 2}
+ m_EnableTreeColliders: 1
+--- !u!218 &765191283
+Terrain:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 765191281}
+ m_Enabled: 1
+ serializedVersion: 6
+ m_TerrainData: {fileID: 15600000, guid: aebf3c117d0a5e042a1fc7ec8080367d, type: 2}
+ m_TreeDistance: 5000
+ m_TreeBillboardDistance: 2000
+ m_TreeCrossFadeLength: 5
+ m_TreeMaximumFullLODCount: 50
+ m_DetailObjectDistance: 80
+ m_DetailObjectDensity: 1
+ m_HeightmapPixelError: 5
+ m_SplatMapDistance: 1000
+ m_HeightmapMinimumLODSimplification: 0
+ m_HeightmapMaximumLOD: 0
+ m_ShadowCastingMode: 2
+ m_DrawHeightmap: 1
+ m_DrawInstanced: 0
+ m_DrawTreesAndFoliage: 1
+ m_StaticShadowCaster: 0
+ m_IgnoreQualitySettings: 0
+ m_ReflectionProbeUsage: 1
+ m_MaterialTemplate: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
+ m_BakeLightProbesForTrees: 1
+ m_PreserveTreePrototypeLayers: 0
+ m_DeringLightProbesForTrees: 1
+ m_ReceiveGI: 1
+ m_ScaleInLightmap: 0.0256
+ m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0}
+ m_GroupingID: 0
+ m_RenderingLayerMask: 1
+ m_AllowAutoConnect: 1
+ m_EnableHeightmapRayTracing: 1
+ m_EnableTreesAndDetailsRayTracing: 0
+ m_EnableHeightmapLODFrustumCulling: 1
+ m_TreeMotionVectorModeOverride: 3
+--- !u!4 &765191284
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 765191281}
+ 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!1001 &775102730
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.43967083
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.43967083
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.43967083
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 1069.3
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 64.21
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 718.17
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -3433457063646126736, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: 'm_Materials.Array.data[0]'
+ value:
+ objectReference: {fileID: 2100000, guid: 1b97a4b2799c5ec439de690b5fa3d2c2, type: 2}
+ - target: {fileID: -3269975075106992922, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: 'm_Materials.Array.data[0]'
+ value:
+ objectReference: {fileID: 2100000, guid: 1b97a4b2799c5ec439de690b5fa3d2c2, type: 2}
+ - target: {fileID: -895306380916907690, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: 'm_Materials.Array.data[0]'
+ value:
+ objectReference: {fileID: 2100000, guid: 1b97a4b2799c5ec439de690b5fa3d2c2, type: 2}
+ - target: {fileID: 919132149155446097, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: m_Name
+ value: Water Towers
+ objectReference: {fileID: 0}
+ - target: {fileID: 5494659886970537693, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: 'm_Materials.Array.data[0]'
+ value:
+ objectReference: {fileID: 2100000, guid: 1b97a4b2799c5ec439de690b5fa3d2c2, type: 2}
+ - target: {fileID: 9021569229514664850, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+ propertyPath: 'm_Materials.Array.data[0]'
+ value:
+ objectReference: {fileID: 2100000, guid: 1b97a4b2799c5ec439de690b5fa3d2c2, type: 2}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: ebd65f7c242c5ca43b49cdc418d8bf49, type: 3}
+--- !u!1001 &829907302
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 1526969493285030162, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: far clip plane
+ value: 3000
+ objectReference: {fileID: 0}
+ - target: {fileID: 2079360422283849323, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_Name
+ value: Buggy_ThirdPersonCamera
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 125.79
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 18.48
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 102.32
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.98768836
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0.15643448
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5333045600610406045, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 2079360422283849323, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1695263363}
+ m_SourcePrefab: {fileID: 100100000, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+--- !u!1001 &997629554
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 29.203354
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 29.203354
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 29.203354
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 664.78613
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 41.21
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 365.33
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: -8679921383154817045, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 919132149155446097, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+ propertyPath: m_Name
+ value: old_water_tower
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: edd450cc1d2a66d45b3e0f2b366503ee, type: 3}
+--- !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 &1541589439
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 7169525912848336899, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_Name
+ value: Harvester (1)
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 252.4
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.7491313
+ objectReference: {fileID: 0}
+ - target: {fileID: 7508790823005770425, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 100.2
+ 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}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9291a3f8ca3422546ae45ab051e89b2b, type: 3}
+--- !u!1 &1695263362 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 2079360422283849323, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
+ m_PrefabInstance: {fileID: 829907302}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &1695263363
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1695263362}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
+ m_RenderShadows: 1
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 1
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_TaaSettings:
+ m_Quality: 3
+ m_FrameInfluence: 0.1
+ m_JitterScale: 1
+ m_MipBias: 0
+ m_VarianceClampScale: 0.9
+ m_ContrastAdaptiveSharpening: 0
+ m_Version: 2
+--- !u!1 &1735981100
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1735981103}
+ - component: {fileID: 1735981102}
+ - component: {fileID: 1735981101}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1735981101
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735981100}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalLightData
+ m_UsePipelineSettings: 1
+ m_AdditionalLightsShadowResolutionTier: 2
+ m_CustomShadowLayers: 0
+ m_LightCookieSize: {x: 1, y: 1}
+ m_LightCookieOffset: {x: 0, y: 0}
+ m_SoftShadowQuality: 0
+ m_RenderingLayersMask:
+ serializedVersion: 0
+ m_Bits: 1
+ m_ShadowRenderingLayersMask:
+ serializedVersion: 0
+ m_Bits: 1
+ m_Version: 4
+ m_LightLayerMask: 1
+ m_ShadowLayerMask: 1
+ m_RenderingLayers: 1
+ m_ShadowRenderingLayers: 1
+--- !u!108 &1735981102
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735981100}
+ m_Enabled: 1
+ serializedVersion: 13
+ m_Type: 1
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 2.33
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize2D: {x: 0.5, y: 0.5}
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 5000
+ m_UseColorTemperature: 1
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_UseViewFrustumForShadowCasterCull: 1
+ m_ForceVisible: 0
+ m_ShapeRadius: 0.025
+ m_ShadowAngle: 0
+ m_LightUnit: 1
+ m_LuxAtDistance: 1
+ m_EnableSpotReflector: 1
+--- !u!4 &1735981103
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735981100}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0.9063079, z: -0.42261827, w: 0}
+ m_LocalPosition: {x: 0, y: 6.02, z: 6.68}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 50, y: 180, z: 0}
+--- !u!1001 &2890032504799606039
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 2028108034489532716, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.9870148
+ objectReference: {fileID: 0}
+ - target: {fileID: 2028108034489532716, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.425165
+ objectReference: {fileID: 0}
+ - target: {fileID: 2028108034489532716, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1.7977295
+ objectReference: {fileID: 0}
+ - 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: 102.68
+ objectReference: {fileID: 0}
+ - target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7537428961558247435, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 28b4b793ebceaa84ba0cce962ec564c1, type: 3}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 765191284}
+ - {fileID: 829907302}
+ - {fileID: 1735981103}
+ - {fileID: 2890032504799606039}
+ - {fileID: 708861056}
+ - {fileID: 775102730}
+ - {fileID: 997629554}
+ - {fileID: 180403638}
+ - {fileID: 602157383}
+ - {fileID: 1343330601}
+ - {fileID: 73962577}
+ - {fileID: 1541589439}
+ - {fileID: 403650711}
diff --git a/Assets/_Recovery/0 (3).unity.meta b/Assets/_Recovery/0 (3).unity.meta
new file mode 100644
index 0000000..fc9ed4a
--- /dev/null
+++ b/Assets/_Recovery/0 (3).unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bafbd2a0515a0f9428d348bd954e9327
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/manifest.json b/Packages/manifest.json
index b298c31..76d46c5 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -1,6 +1,7 @@
{
"dependencies": {
"com.coplaydev.unity-mcp": "https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main",
+ "com.unity.2d.psdimporter": "14.0.3",
"com.unity.2d.sprite": "1.0.0",
"com.unity.ai.navigation": "2.0.13",
"com.unity.collab-proxy": "2.12.4",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 48bb0b8..bb1e512 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -17,12 +17,47 @@
},
"hash": "11836003a5e2ffcb7715ecec7e1fbb9d9cdb5bb8"
},
+ "com.unity.2d.common": {
+ "version": "14.0.1",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.burst": "1.8.4",
+ "com.unity.2d.sprite": "1.0.0",
+ "com.unity.collections": "2.4.3",
+ "com.unity.mathematics": "1.1.0",
+ "com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.uielements": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.2d.psdimporter": {
+ "version": "14.0.3",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.2d.common": "14.0.1",
+ "com.unity.2d.sprite": "1.0.0",
+ "com.unity.2d.tilemap": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.2d.sprite": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
+ "com.unity.2d.tilemap": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.tilemap": "1.0.0",
+ "com.unity.modules.uielements": "1.0.0"
+ }
+ },
"com.unity.ai.navigation": {
"version": "2.0.13",
"depth": 0,
@@ -106,7 +141,7 @@
},
"com.unity.mathematics": {
"version": "1.4.0",
- "depth": 3,
+ "depth": 2,
"source": "builtin",
"dependencies": {}
},