Wrong way indicator, collision sound, fixed winner screen
This commit is contained in:
parent
21c8a650e3
commit
9f10cbc5fc
@ -136,6 +136,154 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &759185982889710626
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1251444078252046342}
|
||||
- component: {fileID: 9182074428259740160}
|
||||
m_Layer: 0
|
||||
m_Name: Trail (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1251444078252046342
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 759185982889710626}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -1.51}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2739604471974086380}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!96 &9182074428259740160
|
||||
TrailRenderer:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 759185982889710626}
|
||||
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_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_Time: 0.05
|
||||
m_PreviewTimeScale: 1
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 2
|
||||
widthCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.76580465
|
||||
value: 0.35365856
|
||||
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.9882353, b: 0.2509804, 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: 0
|
||||
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_MaskInteraction: 0
|
||||
m_Autodestruct: 0
|
||||
m_Emitting: 1
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!1 &1269682946183619831
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -152,7 +300,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!4 &2684802689901416212
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -284,6 +432,142 @@ TrailRenderer:
|
||||
m_Autodestruct: 0
|
||||
m_Emitting: 1
|
||||
m_ApplyActiveColorSpace: 1
|
||||
--- !u!1 &3137021681585047558
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4209967134487703583}
|
||||
- component: {fileID: 4851873612469887564}
|
||||
- component: {fileID: 4764067250207221816}
|
||||
m_Layer: 5
|
||||
m_Name: Text (TMP)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4209967134487703583
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3137021681585047558}
|
||||
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: 6150292465518131551}
|
||||
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: 1200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4851873612469887564
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3137021681585047558}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4764067250207221816
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3137021681585047558}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: wrong way !!
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 978007a8ddca8ef408c6e3469f9496d1, type: 2}
|
||||
m_sharedMaterial: {fileID: 706495386608451938, guid: 978007a8ddca8ef408c6e3469f9496d1, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 0.81568635, g: 0.13333334, b: 0, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 72
|
||||
m_fontSizeBase: 72
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 256
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &3205211927287796582
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -396,6 +680,7 @@ RectTransform:
|
||||
- {fileID: 7211960240219488103}
|
||||
- {fileID: 2718635251434518077}
|
||||
- {fileID: 218548550622008583}
|
||||
- {fileID: 4209967134487703583}
|
||||
m_Father: {fileID: 2739604471974086380}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@ -1007,7 +1292,7 @@ AudioSource:
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 8300000, guid: 08201d878210b114e813f4133c6fd322, type: 3}
|
||||
m_Resource: {fileID: 8300000, guid: 08201d878210b114e813f4133c6fd322, type: 3}
|
||||
m_PlayOnAwake: 1
|
||||
m_PlayOnAwake: 0
|
||||
m_Volume: 0.32
|
||||
m_Pitch: -1.76
|
||||
Loop: 0
|
||||
@ -1136,7 +1421,7 @@ AudioSource:
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 8300000, guid: c953c4df8e4207f4db2ac3d8603809d9, type: 3}
|
||||
m_Resource: {fileID: 8300000, guid: c953c4df8e4207f4db2ac3d8603809d9, type: 3}
|
||||
m_PlayOnAwake: 1
|
||||
m_PlayOnAwake: 0
|
||||
m_Volume: 0.471
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
@ -1260,6 +1545,7 @@ Transform:
|
||||
- {fileID: 9160487209143755372}
|
||||
- {fileID: 360567747910623970}
|
||||
- {fileID: 2684802689901416212}
|
||||
- {fileID: 1251444078252046342}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &7162886650759621711
|
||||
@ -1450,6 +1736,7 @@ MonoBehaviour:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
canAccelerate: 0
|
||||
wrongWayText: {fileID: 0}
|
||||
hoverHeight: 3
|
||||
raycastDistance: 20
|
||||
smoothTerrainLayer:
|
||||
@ -1467,6 +1754,8 @@ MonoBehaviour:
|
||||
timeBeforeReset: 3
|
||||
trackRaycastDistance: 20
|
||||
trackTag: Track
|
||||
collisionSound: {fileID: 0}
|
||||
audioSource: {fileID: 0}
|
||||
--- !u!114 &7105996084223619230
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -348,7 +348,7 @@ AudioSource:
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 8300000, guid: ad8a021cc75c4d2498f62c9468f0c57a, type: 3}
|
||||
m_Resource: {fileID: 8300000, guid: ad8a021cc75c4d2498f62c9468f0c57a, type: 3}
|
||||
m_PlayOnAwake: 1
|
||||
m_PlayOnAwake: 0
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
@ -477,7 +477,7 @@ AudioSource:
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 8300000, guid: b7c5bbd3b60bdec4c970a96f623bb757, type: 3}
|
||||
m_Resource: {fileID: 8300000, guid: b7c5bbd3b60bdec4c970a96f623bb757, type: 3}
|
||||
m_PlayOnAwake: 1
|
||||
m_PlayOnAwake: 0
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
|
@ -119,6 +119,17 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!114 &121175909 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 5216672097827285888, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
m_PrefabInstance: {fileID: 6682387771288872990}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &149090130 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7330093094718640193, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
@ -883,6 +894,17 @@ GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 3270263327541053123, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
m_PrefabInstance: {fileID: 6388558628322318749}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &418144275 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4764067250207221816, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
m_PrefabInstance: {fileID: 6388558628322318749}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &456547926 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
@ -3313,6 +3335,135 @@ MonoBehaviour:
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 0
|
||||
--- !u!1 &2055079843
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2055079844}
|
||||
- component: {fileID: 2055079845}
|
||||
m_Layer: 0
|
||||
m_Name: Collision
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2055079844
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2055079843}
|
||||
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: 1703462600}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!82 &2055079845
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2055079843}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 8300000, guid: 6769b43fd3db2634f9e81c93ac3e093e, type: 3}
|
||||
m_Resource: {fileID: 8300000, guid: 6769b43fd3db2634f9e81c93ac3e093e, type: 3}
|
||||
m_PlayOnAwake: 0
|
||||
m_Volume: 0.463
|
||||
m_Pitch: -1.95
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
--- !u!64 &2140352485
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -6130,6 +6281,18 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: audioSource
|
||||
value:
|
||||
objectReference: {fileID: 2055079845}
|
||||
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: wrongWayText
|
||||
value:
|
||||
objectReference: {fileID: 418144275}
|
||||
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: collisionSound
|
||||
value:
|
||||
objectReference: {fileID: 8300000, guid: 6769b43fd3db2634f9e81c93ac3e093e, type: 3}
|
||||
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: 'checkpoints.Array.data[0]'
|
||||
value:
|
||||
@ -6674,6 +6837,18 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3137021681585047558, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: WrongWay
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3137021681585047558, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4764067250207221816, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: m_fontColor32.rgba
|
||||
value: 4278198992
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6552287091957501518, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
propertyPath: raceManager
|
||||
value:
|
||||
@ -6684,7 +6859,10 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedGameObjects:
|
||||
- targetCorrespondingSourceObject: {fileID: 2739604471974086380, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 2055079844}
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||
--- !u!1 &6466939393724566181 stripped
|
||||
@ -6885,6 +7063,14 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: RaceManager
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5216672097827285888, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
propertyPath: m_fontSize
|
||||
value: 72
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5216672097827285888, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
propertyPath: m_fontSizeBase
|
||||
value: 72
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5961961246965211052, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||
value:
|
||||
@ -6933,10 +7119,18 @@ PrefabInstance:
|
||||
propertyPath: playerUI
|
||||
value:
|
||||
objectReference: {fileID: 377076480}
|
||||
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
propertyPath: totalLaps
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
propertyPath: finishLine
|
||||
value:
|
||||
objectReference: {fileID: 1535149051}
|
||||
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
propertyPath: victoryText
|
||||
value:
|
||||
objectReference: {fileID: 121175909}
|
||||
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||
propertyPath: lapsLeftText
|
||||
value:
|
||||
|
@ -1,7 +1,12 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI; // Required for UI elements
|
||||
|
||||
public class StableHovercarController : BaseHovercarController
|
||||
{
|
||||
[Header("UI")]
|
||||
public TextMeshProUGUI wrongWayText;
|
||||
|
||||
[Header("Hover Settings")]
|
||||
public float hoverHeight = 3.0f;
|
||||
public float raycastDistance = 10.0f;
|
||||
@ -18,9 +23,9 @@ public class StableHovercarController : BaseHovercarController
|
||||
public float bumpyPositionAdjustmentSpeed = 5.0f;
|
||||
|
||||
[Header("Movement Settings")]
|
||||
public float movementSpeed = 10.0f; // Max speed
|
||||
public float acceleration = 5.0f; // How quickly to accelerate
|
||||
public float deceleration = 7.0f; // How quickly to decelerate
|
||||
public float movementSpeed = 10.0f;
|
||||
public float acceleration = 5.0f;
|
||||
public float deceleration = 7.0f;
|
||||
public float rotationSpeed = 100.0f;
|
||||
|
||||
[Header("Reset Settings")]
|
||||
@ -33,6 +38,9 @@ public class StableHovercarController : BaseHovercarController
|
||||
[Tooltip("Tag used on the track geometry.")]
|
||||
public string trackTag = "Track";
|
||||
|
||||
public AudioClip collisionSound;
|
||||
public AudioSource audioSource;
|
||||
|
||||
private float currentSpeed = 0.0f;
|
||||
private Rigidbody rb;
|
||||
private RacerProgress racerProgress;
|
||||
@ -42,6 +50,9 @@ public class StableHovercarController : BaseHovercarController
|
||||
// Flag that indicates whether a raycast hit was detected in this physics update.
|
||||
private bool groundContact = false;
|
||||
|
||||
// Timer to track how long the next checkpoint is not in front.
|
||||
private float wrongWayTimer = 0.0f;
|
||||
|
||||
void Start()
|
||||
{
|
||||
rb = GetComponent<Rigidbody>();
|
||||
@ -52,62 +63,115 @@ public class StableHovercarController : BaseHovercarController
|
||||
{
|
||||
Debug.LogWarning("No RacerProgress component found on this vehicle!");
|
||||
}
|
||||
|
||||
if (wrongWayText != null)
|
||||
{
|
||||
wrongWayText.enabled = false; // Hide the "Wrong Way" message initially
|
||||
}
|
||||
}
|
||||
|
||||
void FixedUpdate()
|
||||
{
|
||||
HandleHovering();
|
||||
HandleMovement();
|
||||
CheckWrongWay();
|
||||
|
||||
// If we aren’t detecting ground/track contact, count up.
|
||||
if (!groundContact)
|
||||
{
|
||||
noContactTimer += Time.fixedDeltaTime;
|
||||
if (noContactTimer >= timeBeforeReset)
|
||||
{
|
||||
ResetToCheckpoint();
|
||||
noContactTimer = 0.0f; // Reset timer after repositioning
|
||||
noContactTimer = 0.0f;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Reset the timer when ground/track is detected.
|
||||
noContactTimer = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnCollisionEnter(Collision collision)
|
||||
{
|
||||
// Check if the collided object has the "Racer" tag
|
||||
if (collision.gameObject.CompareTag("Racer"))
|
||||
{
|
||||
// Play the sound effect
|
||||
if (collisionSound != null && audioSource != null)
|
||||
{
|
||||
audioSource.PlayOneShot(collisionSound);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks whether the next checkpoint is in the vehicle's forward hemisphere.
|
||||
/// If it isn’t for longer than one second, the "Wrong Way" warning is displayed.
|
||||
/// </summary>
|
||||
void CheckWrongWay()
|
||||
{
|
||||
// Validate that we have checkpoints and progress data.
|
||||
if (checkpoints == null || racerProgress == null || checkpoints.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Determine the next checkpoint.
|
||||
int nextCheckpointIndex = (racerProgress.currentCheckpointIndex + 1) % checkpoints.Length;
|
||||
Transform nextCheckpoint = checkpoints[nextCheckpointIndex];
|
||||
|
||||
// Compute the direction from the vehicle to the next checkpoint.
|
||||
Vector3 toNextCheckpoint = (nextCheckpoint.position - transform.position).normalized;
|
||||
|
||||
// Check if the next checkpoint is in front.
|
||||
// A positive dot product means the checkpoint is in the forward hemisphere.
|
||||
if (Vector3.Dot(transform.forward, toNextCheckpoint) > 0)
|
||||
{
|
||||
// Checkpoint is in front – reset the timer and hide the warning.
|
||||
wrongWayTimer = 0.0f;
|
||||
if (wrongWayText != null)
|
||||
{
|
||||
wrongWayText.enabled = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Checkpoint is behind; accumulate the timer.
|
||||
wrongWayTimer += Time.fixedDeltaTime;
|
||||
if (wrongWayTimer >= 1.0f)
|
||||
{
|
||||
if (wrongWayText != null)
|
||||
{
|
||||
wrongWayText.enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void HandleHovering()
|
||||
{
|
||||
RaycastHit hit;
|
||||
Vector3 rayOrigin = transform.position;
|
||||
|
||||
// Combine both terrain layers for the raycast.
|
||||
LayerMask combinedLayer = smoothTerrainLayer | bumpyTerrainLayer;
|
||||
|
||||
// Cast a ray downward to detect the terrain.
|
||||
if (Physics.Raycast(rayOrigin, -transform.up, out hit, raycastDistance, combinedLayer))
|
||||
{
|
||||
// We have ground contact.
|
||||
groundContact = true;
|
||||
|
||||
// Determine the triangle on the mesh that was hit.
|
||||
Mesh mesh = hit.collider.GetComponent<MeshFilter>().mesh;
|
||||
int triangleIndex = hit.triangleIndex;
|
||||
int vertex1Index = mesh.triangles[triangleIndex * 3 + 0];
|
||||
int vertex2Index = mesh.triangles[triangleIndex * 3 + 1];
|
||||
int vertex3Index = mesh.triangles[triangleIndex * 3 + 2];
|
||||
|
||||
// Convert the triangle vertices to world space.
|
||||
Vector3 worldVertex1 = hit.collider.transform.TransformPoint(mesh.vertices[vertex1Index]);
|
||||
Vector3 worldVertex2 = hit.collider.transform.TransformPoint(mesh.vertices[vertex2Index]);
|
||||
Vector3 worldVertex3 = hit.collider.transform.TransformPoint(mesh.vertices[vertex3Index]);
|
||||
|
||||
// Interpolate to find the hit point on the triangle.
|
||||
Vector3 interpolatedPoint = worldVertex1 * hit.barycentricCoordinate.x +
|
||||
worldVertex2 * hit.barycentricCoordinate.y +
|
||||
worldVertex3 * hit.barycentricCoordinate.z;
|
||||
|
||||
// Similarly, interpolate the normals.
|
||||
Vector3 localNormal1 = mesh.normals[vertex1Index];
|
||||
Vector3 localNormal2 = mesh.normals[vertex2Index];
|
||||
Vector3 localNormal3 = mesh.normals[vertex3Index];
|
||||
@ -118,40 +182,33 @@ public class StableHovercarController : BaseHovercarController
|
||||
worldNormal2 * hit.barycentricCoordinate.y +
|
||||
worldNormal3 * hit.barycentricCoordinate.z).normalized;
|
||||
|
||||
// Choose the appropriate adjustment speed based on which terrain layer was hit.
|
||||
float currentAdjustmentSpeed = smoothPositionAdjustmentSpeed;
|
||||
if (IsInLayerMask(hit.collider.gameObject, bumpyTerrainLayer))
|
||||
{
|
||||
currentAdjustmentSpeed = bumpyPositionAdjustmentSpeed;
|
||||
}
|
||||
|
||||
// Compute the target hover position.
|
||||
Vector3 targetPosition = interpolatedPoint + interpolatedNormal * hoverHeight;
|
||||
rb.MovePosition(Vector3.Lerp(transform.position, targetPosition, Time.fixedDeltaTime * currentAdjustmentSpeed));
|
||||
|
||||
// Smoothly rotate the vehicle to align with the terrain.
|
||||
Quaternion targetRotation = Quaternion.FromToRotation(transform.up, interpolatedNormal) * transform.rotation;
|
||||
rb.rotation = Quaternion.Slerp(rb.rotation, targetRotation, Time.fixedDeltaTime * 5.0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
// No ground detected.
|
||||
groundContact = false;
|
||||
}
|
||||
}
|
||||
|
||||
void HandleMovement()
|
||||
{
|
||||
// Get player input.
|
||||
float input = Input.GetAxis("Vertical");
|
||||
if (!canAccelerate) {
|
||||
if (!canAccelerate)
|
||||
{
|
||||
input = 0;
|
||||
}
|
||||
|
||||
// Calculate target speed.
|
||||
float targetSpeed = input * movementSpeed;
|
||||
|
||||
// Smooth acceleration/deceleration.
|
||||
if (input != 0)
|
||||
{
|
||||
currentSpeed = Mathf.Lerp(currentSpeed, targetSpeed, Time.fixedDeltaTime * acceleration);
|
||||
@ -161,76 +218,49 @@ public class StableHovercarController : BaseHovercarController
|
||||
currentSpeed = Mathf.Lerp(currentSpeed, 0, Time.fixedDeltaTime * deceleration);
|
||||
}
|
||||
|
||||
// Apply forward movement.
|
||||
rb.linearVelocity = transform.forward * currentSpeed;
|
||||
|
||||
// Apply rotation.
|
||||
float turn = Input.GetAxis("Horizontal") * rotationSpeed;
|
||||
rb.angularVelocity = transform.up * turn * Mathf.Deg2Rad;
|
||||
}
|
||||
|
||||
void ResetToCheckpoint()
|
||||
{
|
||||
// Ensure checkpoints and progress tracking are valid.
|
||||
if (checkpoints == null || checkpoints.Length == 0)
|
||||
void ResetToCheckpoint()
|
||||
{
|
||||
Debug.LogWarning("No checkpoints have been assigned in the Inspector.");
|
||||
return;
|
||||
}
|
||||
if (racerProgress == null)
|
||||
if (checkpoints == null || checkpoints.Length == 0 || racerProgress == null)
|
||||
{
|
||||
Debug.LogWarning("RacerProgress component is missing. Cannot reset to checkpoint.");
|
||||
return;
|
||||
}
|
||||
|
||||
int cpIndex = racerProgress.currentCheckpointIndex;
|
||||
if (cpIndex < 0 || cpIndex >= checkpoints.Length)
|
||||
{
|
||||
Debug.LogWarning("Invalid checkpoint index in RacerProgress!");
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the last checkpoint.
|
||||
Transform lastCheckpoint = checkpoints[cpIndex];
|
||||
|
||||
// Determine the next checkpoint in sequence.
|
||||
int nextCheckpointIndex = (cpIndex + 1) % checkpoints.Length;
|
||||
Transform nextCheckpoint = checkpoints[nextCheckpointIndex];
|
||||
|
||||
// Determine desired forward direction toward the next checkpoint.
|
||||
Vector3 desiredForward = (nextCheckpoint.position - lastCheckpoint.position).normalized;
|
||||
|
||||
// Determine the track’s surface normal using a raycast.
|
||||
Vector3 desiredUp = Vector3.up; // Fallback if no track surface is detected.
|
||||
Vector3 desiredUp = Vector3.up;
|
||||
RaycastHit hit;
|
||||
Vector3 rayOrigin = lastCheckpoint.position + Vector3.up * 1.0f;
|
||||
if (Physics.Raycast(rayOrigin, -Vector3.up, out hit, trackRaycastDistance))
|
||||
{
|
||||
if (hit.collider.CompareTag(trackTag))
|
||||
|
||||
if (Physics.Raycast(rayOrigin, -Vector3.up, out hit, trackRaycastDistance) && hit.collider.CompareTag(trackTag))
|
||||
{
|
||||
desiredUp = -hit.normal;
|
||||
}
|
||||
}
|
||||
|
||||
// Adjust the forward vector to be perpendicular to the track's surface.
|
||||
desiredForward = Vector3.ProjectOnPlane(desiredForward, desiredUp).normalized;
|
||||
|
||||
// Build the final rotation.
|
||||
Quaternion desiredRotation = Quaternion.LookRotation(desiredForward, desiredUp);
|
||||
|
||||
// Reset position and orientation.
|
||||
transform.position = lastCheckpoint.position;
|
||||
transform.rotation = desiredRotation;
|
||||
|
||||
// Clear any existing velocity.
|
||||
currentSpeed = 0f;
|
||||
rb.linearVelocity = Vector3.zero;
|
||||
rb.angularVelocity = Vector3.zero;
|
||||
|
||||
Debug.Log("Vehicle reset to checkpoint: " + lastCheckpoint.name +
|
||||
" with front facing: " + nextCheckpoint.name);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Helper method to determine if a GameObject's layer is in a given LayerMask.
|
||||
private bool IsInLayerMask(GameObject obj, LayerMask mask)
|
||||
|
@ -5,20 +5,30 @@ public class Checkpoint : MonoBehaviour
|
||||
[Tooltip("The order index of this checkpoint along the track.")]
|
||||
public int checkpointIndex = 0;
|
||||
|
||||
[Tooltip("The amount of checkpoints the player can skip without penalty.")]
|
||||
public int skippableCheckpointsQty = 5;
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
RacerProgress progress = other.GetComponent<RacerProgress>();
|
||||
if (progress != null && RaceManager.Instance != null)
|
||||
{
|
||||
// Only update if the racer is expecting this checkpoint next.
|
||||
if (progress.currentCheckpointIndex == checkpointIndex)
|
||||
{
|
||||
int totalCheckpoints = RaceManager.Instance.numberOfCheckpoints;
|
||||
|
||||
// Check if this checkpoint is within the skippable range or expected next.
|
||||
int distanceToCheckpoint = (checkpointIndex - progress.currentCheckpointIndex + totalCheckpoints) % totalCheckpoints;
|
||||
|
||||
if (distanceToCheckpoint == 0 || (distanceToCheckpoint <= skippableCheckpointsQty + 1))
|
||||
{
|
||||
// Update the current checkpoint index
|
||||
progress.currentCheckpointIndex = (checkpointIndex + 1) % totalCheckpoints;
|
||||
|
||||
// If the racer just passed the final checkpoint, increment the lap count.
|
||||
if (checkpointIndex == totalCheckpoints - 1)
|
||||
{
|
||||
progress.lapCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,6 +31,7 @@ public class RaceManager : MonoBehaviour
|
||||
public CinemachineCamera victoryCamera;
|
||||
public CinemachineCamera playerCamera;
|
||||
public GameObject postRaceCanvas;
|
||||
public TextMeshProUGUI victoryText;
|
||||
public GameObject playerUI;
|
||||
|
||||
private List<RacerProgress> racers = new List<RacerProgress>();
|
||||
@ -108,6 +109,12 @@ public class RaceManager : MonoBehaviour
|
||||
{
|
||||
foreach (RacerProgress racer in racers)
|
||||
{
|
||||
BaseHovercarController controller = racer.GetComponent<BaseHovercarController>();
|
||||
if (controller != null)
|
||||
{
|
||||
controller.enabled = false; // Disable the movement script.
|
||||
}
|
||||
|
||||
Rigidbody rb = racer.GetComponent<Rigidbody>();
|
||||
if (rb != null)
|
||||
{
|
||||
@ -122,6 +129,12 @@ public class RaceManager : MonoBehaviour
|
||||
{
|
||||
foreach (RacerProgress racer in racers)
|
||||
{
|
||||
BaseHovercarController controller = racer.GetComponent<BaseHovercarController>();
|
||||
if (controller != null)
|
||||
{
|
||||
controller.enabled = true; // Disable the movement script.
|
||||
}
|
||||
|
||||
racer.GetComponent<BaseHovercarController>().canAccelerate = true;
|
||||
Rigidbody rb = racer.GetComponent<Rigidbody>();
|
||||
if (rb != null)
|
||||
@ -143,14 +156,19 @@ public class RaceManager : MonoBehaviour
|
||||
}
|
||||
|
||||
private void UpdatePositionUI(int position)
|
||||
{
|
||||
playerPositionText.text = GetPrettyPosition(position);
|
||||
}
|
||||
|
||||
private string GetPrettyPosition(int position)
|
||||
{
|
||||
if (position < 4)
|
||||
{
|
||||
playerPositionText.text = placeMapping[position - 1];
|
||||
return placeMapping[position - 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
playerPositionText.text = position + "th";
|
||||
return position + "th";
|
||||
}
|
||||
}
|
||||
|
||||
@ -178,15 +196,25 @@ public class RaceManager : MonoBehaviour
|
||||
|
||||
private void TriggerPostRaceEvents()
|
||||
{
|
||||
LockRacers();
|
||||
if (victoryCamera != null && playerVehicle != null && playerCamera != null)
|
||||
{
|
||||
victoryCamera.gameObject.SetActive(true);
|
||||
playerCamera.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
if (postRaceCanvas != null) postRaceCanvas.SetActive(true);
|
||||
if (postRaceCanvas != null)
|
||||
{
|
||||
int playerPosition = GetPlayerPosition();
|
||||
postRaceCanvas.SetActive(true);
|
||||
if (playerPosition == 1) {
|
||||
victoryText.text = "You win";
|
||||
}
|
||||
else
|
||||
{
|
||||
victoryText.text = "you placed " + GetPrettyPosition(playerPosition);
|
||||
}
|
||||
}
|
||||
if (playerUI != null) playerUI.SetActive(false);
|
||||
|
||||
LockRacers(); // Lock racers at the end of the race
|
||||
}
|
||||
}
|
||||
|
@ -33,28 +33,28 @@ MonoBehaviour:
|
||||
m_Settings:
|
||||
m_SettingsList:
|
||||
m_List:
|
||||
- rid: 6527416841684648058
|
||||
- rid: 6527416841684648059
|
||||
- rid: 6527416841684648070
|
||||
- rid: 6527416841684648071
|
||||
- rid: 6852985685364965378
|
||||
- rid: 6852985685364965379
|
||||
- rid: 6852985685364965380
|
||||
- rid: 6852985685364965381
|
||||
- rid: 6527416841684648060
|
||||
- rid: 6527416841684648061
|
||||
- rid: 6527416841684648072
|
||||
- rid: 6527416841684648073
|
||||
- rid: 6852985685364965384
|
||||
- rid: 6852985685364965385
|
||||
- rid: 6527416841684648062
|
||||
- rid: 6527416841684648063
|
||||
- rid: 6527416841684648064
|
||||
- rid: 6527416841684648065
|
||||
- rid: 6527416841684648066
|
||||
- rid: 6527416841684648067
|
||||
- rid: 6527416841684648074
|
||||
- rid: 6527416841684648075
|
||||
- rid: 6527416841684648076
|
||||
- rid: 6527416841684648077
|
||||
- rid: 6527416841684648078
|
||||
- rid: 6527416841684648079
|
||||
- rid: 6852985685364965392
|
||||
- rid: 6527416841684648068
|
||||
- rid: 6527416841684648080
|
||||
- rid: 6852985685364965394
|
||||
- rid: 8712630790384254976
|
||||
- rid: 6954400632628051968
|
||||
- rid: 6527416841684648069
|
||||
- rid: 6527416841684648081
|
||||
m_RuntimeSettings:
|
||||
m_List:
|
||||
- rid: 6852985685364965378
|
||||
@ -97,14 +97,14 @@ MonoBehaviour:
|
||||
references:
|
||||
version: 2
|
||||
RefIds:
|
||||
- rid: 6527416841684648058
|
||||
- rid: 6527416841684648070
|
||||
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_StripUnusedPostProcessingVariants: 1
|
||||
m_StripUnusedVariants: 1
|
||||
m_StripScreenCoordOverrideVariants: 1
|
||||
- rid: 6527416841684648059
|
||||
- rid: 6527416841684648071
|
||||
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
||||
@ -116,7 +116,7 @@ MonoBehaviour:
|
||||
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
||||
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
||||
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
||||
- rid: 6527416841684648060
|
||||
- rid: 6527416841684648072
|
||||
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
@ -131,7 +131,7 @@ MonoBehaviour:
|
||||
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
|
||||
- rid: 6527416841684648061
|
||||
- rid: 6527416841684648073
|
||||
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
@ -140,7 +140,7 @@ MonoBehaviour:
|
||||
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
||||
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
||||
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
- rid: 6527416841684648062
|
||||
- rid: 6527416841684648074
|
||||
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
@ -153,13 +153,13 @@ MonoBehaviour:
|
||||
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
|
||||
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
|
||||
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
|
||||
- rid: 6527416841684648063
|
||||
- rid: 6527416841684648075
|
||||
type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3}
|
||||
m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3}
|
||||
m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3}
|
||||
- rid: 6527416841684648064
|
||||
- rid: 6527416841684648076
|
||||
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
@ -172,12 +172,12 @@ MonoBehaviour:
|
||||
skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
|
||||
renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
||||
renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
||||
- rid: 6527416841684648065
|
||||
- rid: 6527416841684648077
|
||||
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
m_ProbeVolumeDisableStreamingAssets: 0
|
||||
- rid: 6527416841684648066
|
||||
- rid: 6527416841684648078
|
||||
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
@ -187,21 +187,21 @@ MonoBehaviour:
|
||||
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
|
||||
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
|
||||
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
|
||||
- rid: 6527416841684648067
|
||||
- rid: 6527416841684648079
|
||||
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_version: 0
|
||||
m_IncludeReferencedInScenes: 0
|
||||
m_IncludeAssetsByLabel: 0
|
||||
m_LabelToInclude:
|
||||
- rid: 6527416841684648068
|
||||
- rid: 6527416841684648080
|
||||
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
|
||||
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
|
||||
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
|
||||
- rid: 6527416841684648069
|
||||
- rid: 6527416841684648081
|
||||
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
|
||||
|
BIN
Assets/Sounds/Clang.wav
Normal file
BIN
Assets/Sounds/Clang.wav
Normal file
Binary file not shown.
23
Assets/Sounds/Clang.wav.meta
Normal file
23
Assets/Sounds/Clang.wav.meta
Normal file
@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6769b43fd3db2634f9e81c93ac3e093e
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
x
Reference in New Issue
Block a user