Compare commits

..

5 Commits

Author SHA1 Message Date
0dbe96c0c3 Merge 2025-01-16 12:21:46 +01:00
f949377c46 Merge branch 'dev' of https://git.lagaudiere.uk/ElPoyo/AwesomeRunner- into Coins 2025-01-16 12:16:23 +01:00
cda263839d Ajout du system de coins et modif de l'obstacle de Paul 2025-01-16 11:54:09 +01:00
a9b626b86e Ajout musique game scene 2025-01-15 16:04:57 +01:00
2d5bf6002f Ajout de jump sound + changement de lane
Et musique dans le Main Menu
2025-01-15 16:00:11 +01:00
24 changed files with 955 additions and 880 deletions

View File

@ -51,5 +51,5 @@
"temp/": true, "temp/": true,
"Temp/": true "Temp/": true
}, },
"dotnet.defaultSolution": "AwesomeRunner.sln" "dotnet.defaultSolution": "AwesomeRunner-.sln"
} }

View File

@ -2,19 +2,26 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: comuter_wall m_Name: comuter_wall
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _METALLICGLOSSMAP m_Parent: {fileID: 0}
m_LightmapFlags: 5 m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
- _METALLICGLOSSMAP
m_InvalidKeywords: []
m_LightmapFlags: 1
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: -1 m_CustomRenderQueue: -1
stringTagMap: {} stringTagMap: {}
disabledShaderPasses: [] disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
@ -54,19 +61,26 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _BumpScale: 1 - _BumpScale: 1
- _Cutoff: 0.5 - _Cutoff: 0.5
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DstBlend: 0 - _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5 - _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0 - _Metallic: 0
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1
- _UVSec: 0 - _UVSec: 0
- _ZWrite: 1 - _ZWrite: 1
m_Colors: m_Colors:
- _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1} - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

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

View File

@ -0,0 +1,163 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &9117726010709451998
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2262208576908815080}
- component: {fileID: 3572880127954793139}
- component: {fileID: 6612934893704467973}
- component: {fileID: 2619330802336550126}
- component: {fileID: 6803980266743182291}
- component: {fileID: 6108635676596831665}
- component: {fileID: 1187001800563073841}
m_Layer: 0
m_Name: Coins
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2262208576908815080
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9117726010709451998}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 2, z: 0}
m_LocalScale: {x: 1, y: 0.05, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &3572880127954793139
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9117726010709451998}
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6612934893704467973
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9117726010709451998}
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_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 9fc1d0d62308b2a47839d64bc3a4983d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!136 &2619330802336550126
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9117726010709451998}
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: 2
m_Radius: 0.5000001
m_Height: 2
m_Direction: 1
m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
--- !u!65 &6803980266743182291
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9117726010709451998}
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.0000001, y: 2.0000005, z: 1.0000005}
m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940699}
--- !u!114 &6108635676596831665
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9117726010709451998}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ddaf0a1f90e1c46428ba5f029fd32ad0, type: 3}
m_Name:
m_EditorClassIdentifier:
coinValue: 50
--- !u!114 &1187001800563073841
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9117726010709451998}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ef8880022572d924bbe4f58655a16a6f, type: 3}
m_Name:
m_EditorClassIdentifier:
amplitude: 0.1
animationVelocity: {x: 0, y: 1, z: 0}

View File

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

View File

@ -104,7 +104,7 @@ BoxCollider:
m_Enabled: 1 m_Enabled: 1
serializedVersion: 3 serializedVersion: 3
m_Size: {x: 2, y: 2, z: 2} m_Size: {x: 2, y: 2, z: 2}
m_Center: {x: 0, y: 0, z: 0} m_Center: {x: 0, y: 0.5, z: 0}
--- !u!114 &6632165759313513218 --- !u!114 &6632165759313513218
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -230,8 +230,8 @@ BoxCollider:
m_ProvidesContacts: 0 m_ProvidesContacts: 0
m_Enabled: 1 m_Enabled: 1
serializedVersion: 3 serializedVersion: 3
m_Size: {x: 2, y: 2, z: 2} m_Size: {x: 2, y: 1.75, z: 2}
m_Center: {x: 0, y: 0, z: 0} m_Center: {x: 0, y: 2.25, z: 0}
--- !u!114 &-5363852902891024896 --- !u!114 &-5363852902891024896
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -245,7 +245,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
<IsOnAllLanes>k__BackingField: 0 <IsOnAllLanes>k__BackingField: 0
<IsInevitable>k__BackingField: 1 <IsInevitable>k__BackingField: 0
--- !u!4 &4156031263124959724 stripped --- !u!4 &4156031263124959724 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: 02c07866f16913044aea6679ce17cfc5, type: 3} m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: 02c07866f16913044aea6679ce17cfc5, type: 3}

View File

@ -24,13 +24,13 @@ Transform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1385490266177085035} m_GameObject: {fileID: 1385490266177085035}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3244299530156243158 --- !u!114 &3244299530156243158
MonoBehaviour: MonoBehaviour:
@ -44,5 +44,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
capacity: 30 capacity: 10
prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3}

View File

@ -24,13 +24,13 @@ Transform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4737509690352194895} m_GameObject: {fileID: 4737509690352194895}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6300939898152622968 --- !u!114 &6300939898152622968
MonoBehaviour: MonoBehaviour:
@ -44,5 +44,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
capacity: 20 capacity: 10
prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3}

View File

@ -286,6 +286,135 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &30369727
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 30369729}
- component: {fileID: 30369728}
m_Layer: 0
m_Name: SoundManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!82 &30369728
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 30369727}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: ddf8fb13b61f8474d89b050db1febfc6, type: 3}
m_Resource: {fileID: 8300000, guid: ddf8fb13b61f8474d89b050db1febfc6, type: 3}
m_PlayOnAwake: 1
m_Volume: 0.75
m_Pitch: 1
Loop: 1
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 64
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!4 &30369729
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 30369727}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 665.951, y: 24.450401, z: 2630.0884}
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 &70882850 --- !u!1 &70882850
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3262,6 +3391,10 @@ PrefabInstance:
propertyPath: m_Layer propertyPath: m_Layer
value: 7 value: 7
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: JumpSound
value:
objectReference: {fileID: 1865094442}
- target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3} - target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: isPlayer2 propertyPath: isPlayer2
value: 0 value: 0
@ -3816,6 +3949,135 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0} m_Pivot: {x: 0, y: 0}
--- !u!1 &1865094441
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1865094443}
- component: {fileID: 1865094442}
m_Layer: 0
m_Name: JumpSound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!82 &1865094442
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1865094441}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 1349cd948201da94d803d355043b3e6b, type: 3}
m_Resource: {fileID: 8300000, guid: 1349cd948201da94d803d355043b3e6b, type: 3}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 2
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!4 &1865094443
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1865094441}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 665.951, y: 24.450401, z: 2630.0884}
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 &1872880025 --- !u!1 &1872880025
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4903,6 +5165,10 @@ PrefabInstance:
propertyPath: m_Layer propertyPath: m_Layer
value: 6 value: 6
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: JumpSound
value:
objectReference: {fileID: 1865094442}
- target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3} - target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: isPlayer2 propertyPath: isPlayer2
value: 1 value: 1
@ -5308,3 +5574,5 @@ SceneRoots:
- {fileID: 634835459} - {fileID: 634835459}
- {fileID: 214096430} - {fileID: 214096430}
- {fileID: 245285643} - {fileID: 245285643}
- {fileID: 1865094443}
- {fileID: 30369729}

View File

@ -1132,6 +1132,135 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1146222636
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1146222638}
- component: {fileID: 1146222637}
m_Layer: 0
m_Name: SoundManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!82 &1146222637
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1146222636}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: ddf8fb13b61f8474d89b050db1febfc6, type: 3}
m_Resource: {fileID: 8300000, guid: ddf8fb13b61f8474d89b050db1febfc6, type: 3}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
Loop: 1
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!4 &1146222638
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1146222636}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 665.951, y: 24.450401, z: 2630.0884}
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 &1425101073 --- !u!1 &1425101073
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1683,3 +1812,4 @@ SceneRoots:
- {fileID: 28337890} - {fileID: 28337890}
- {fileID: 2056363845} - {fileID: 2056363845}
- {fileID: 533191358} - {fileID: 533191358}
- {fileID: 1146222638}

View File

@ -950,6 +950,135 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 291439267} m_GameObject: {fileID: 291439267}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &428788575
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 428788577}
- component: {fileID: 428788576}
m_Layer: 0
m_Name: Audio Manager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!82 &428788576
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 428788575}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 1349cd948201da94d803d355043b3e6b, type: 3}
m_Resource: {fileID: 8300000, guid: 1349cd948201da94d803d355043b3e6b, type: 3}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
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!4 &428788577
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 428788575}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 3.7201803, y: -0.29014507, z: 29.534254}
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 &574795016 --- !u!1001 &574795016
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1814,7 +1943,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
capacity: 30 capacity: 10
prefab: {fileID: -5363852902891024896, guid: 3e76749ffe8f4044db8b25dd6fcdd62d, type: 3} prefab: {fileID: -5363852902891024896, guid: 3e76749ffe8f4044db8b25dd6fcdd62d, type: 3}
--- !u!1 &917043515 --- !u!1 &917043515
GameObject: GameObject:
@ -2282,6 +2411,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
LaneSystem: {fileID: 106057762} LaneSystem: {fileID: 106057762}
coinPool: {fileID: 1660313272}
<ObstaclePools>k__BackingField: <ObstaclePools>k__BackingField:
- {fileID: 4230759379826572186} - {fileID: 4230759379826572186}
- {fileID: 3994382559241916552} - {fileID: 3994382559241916552}
@ -2346,8 +2476,8 @@ MonoBehaviour:
m_Calls: [] m_Calls: []
m_text: SCOREBOARD m_text: SCOREBOARD
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2} m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: [] m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0} m_fontMaterial: {fileID: 0}
m_fontMaterials: [] m_fontMaterials: []
@ -2371,7 +2501,7 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 36.9 m_fontSize: 27.95
m_fontSizeBase: 48 m_fontSizeBase: 48
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 1 m_enableAutoSizing: 1
@ -2457,6 +2587,7 @@ Transform:
- {fileID: 916824467} - {fileID: 916824467}
- {fileID: 1507006778095683194} - {fileID: 1507006778095683194}
- {fileID: 1119912663875091926} - {fileID: 1119912663875091926}
- {fileID: 1660313271}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1338901767 --- !u!1 &1338901767
@ -2595,8 +2726,8 @@ MonoBehaviour:
m_Calls: [] m_Calls: []
m_text: Back m_text: Back
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2} m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: [] m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0} m_fontMaterial: {fileID: 0}
m_fontMaterials: [] m_fontMaterials: []
@ -2620,7 +2751,7 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 37.6 m_fontSize: 35.8
m_fontSizeBase: 41 m_fontSizeBase: 41
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 1 m_enableAutoSizing: 1
@ -3101,6 +3232,52 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1581363460} m_GameObject: {fileID: 1581363460}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1660313270
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1660313271}
- component: {fileID: 1660313272}
m_Layer: 0
m_Name: CoinPool
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1660313271
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1660313270}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 3.7201803, y: -0.29014507, z: 29.534254}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1176782784}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1660313272
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1660313270}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c4456a434a6301241bcca08c705b96c4, type: 3}
m_Name:
m_EditorClassIdentifier:
capacity: 0
prefab: {fileID: 6108635676596831665, guid: b23a39661488b4b4bb909b4285f3f874, type: 3}
--- !u!1 &1872880025 --- !u!1 &1872880025
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4067,7 +4244,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
capacity: 30 capacity: 10
prefab: {fileID: -2344530007010565835, guid: dd64cf90044eea341a44470119043683, type: 3} prefab: {fileID: -2344530007010565835, guid: dd64cf90044eea341a44470119043683, type: 3}
--- !u!114 &4230759379826572186 stripped --- !u!114 &4230759379826572186 stripped
MonoBehaviour: MonoBehaviour:
@ -4132,6 +4309,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: JumpSound
value:
objectReference: {fileID: 428788576}
- target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3} - target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: laneSystem propertyPath: laneSystem
value: value:
@ -4144,6 +4325,10 @@ PrefabInstance:
propertyPath: PlayerHUD propertyPath: PlayerHUD
value: value:
objectReference: {fileID: 574795018} objectReference: {fileID: 574795018}
- target: {fileID: 7896966939631641298, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: playerHUD
value:
objectReference: {fileID: 574795018}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@ -4225,7 +4410,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
capacity: 30 capacity: 10
prefab: {fileID: 5386355404380617402, guid: 5b773f1726a94b948a9e203041402aab, type: 3} prefab: {fileID: 5386355404380617402, guid: 5b773f1726a94b948a9e203041402aab, type: 3}
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
@ -4242,3 +4427,4 @@ SceneRoots:
- {fileID: 634835459} - {fileID: 634835459}
- {fileID: 214096430} - {fileID: 214096430}
- {fileID: 245285643} - {fileID: 245285643}
- {fileID: 428788577}

View File

@ -5,6 +5,7 @@ using UnityEngine;
public class Coin : PoolingObject<Coin>, ICollectable,IResettable public class Coin : PoolingObject<Coin>, ICollectable,IResettable
{ {
[SerializeField] private int coinValue; [SerializeField] private int coinValue;
public int CoinValue => coinValue;
private SinAnimator sinAnimator; private SinAnimator sinAnimator;
public Renderer Renderer { get; private set; } public Renderer Renderer { get; private set; }
@ -23,7 +24,9 @@ public class Coin : PoolingObject<Coin>, ICollectable,IResettable
gameObject.SetActive(false); gameObject.SetActive(false);
OnCoinCollected?.Invoke(coinValue); OnCoinCollected?.Invoke(coinValue);
OnCoinDissapeared?.Invoke(this); OnCoinDissapeared?.Invoke(this);
ReturnToPool();
} }
public void UpdateStartPositionForSinAnimator() public void UpdateStartPositionForSinAnimator()
{ {
sinAnimator.UpdateStartPosition(); sinAnimator.UpdateStartPosition();

View File

@ -57,6 +57,10 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
#endregion #endregion
#region Sounds
public AudioSource JumpSound;
#endregion
public bool IsInvincible { get; private set; } public bool IsInvincible { get; private set; }
public float InvincibilityTime { get; private set; } //PLAYER DATA ScriptableObject public float InvincibilityTime { get; private set; } //PLAYER DATA ScriptableObject
[SerializeField] private Boolean isPlayer2; [SerializeField] private Boolean isPlayer2;
@ -84,6 +88,7 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
private void Start() private void Start()
{ {
PlayerStateMachine.SetState(PlayerStateMachine.PlayerStartingIdleState); PlayerStateMachine.SetState(PlayerStateMachine.PlayerStartingIdleState);
JumpSound.GetComponent<AudioSource>();
} }
@ -101,27 +106,30 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
private void OnTriggerEnter(Collider other) private void OnTriggerEnter(Collider other)
{ {
if (other.TryGetComponent(out IDamageDealer damageDealer)) //switch..case if (other.TryGetComponent(out IDamageDealer damageDealer))
{ {
if (IsInvincible) if (IsInvincible) return;
return;
int damageAmount = 1; int damageAmount = 1;
var damageableComponents = GetComponents<IDamageable>(); foreach (var component in GetComponents<IDamageable>())
foreach (var component in damageableComponents)
{ {
damageDealer.DealDamage(component, damageAmount); damageDealer.DealDamage(component, damageAmount);
} }
StartCoroutine(GrantInvincibility()); StartCoroutine(GrantInvincibility());
} }
if (other.TryGetComponent(out IObstacle obstacle)) //switch..case if (other.TryGetComponent(out IObstacle obstacle))
{ {
obstacle.Impact(); obstacle.Impact();
} }
else if (other.TryGetComponent(out ICollectable collectable)) else if (other.TryGetComponent(out ICollectable collectable))
{ {
collectable.Collect(); collectable.Collect();
if (other.TryGetComponent(out Coin coin))
{
PlayerStatictics.AddScore(coin.CoinValue);
coin.gameObject.SetActive(false);
}
} }
} }
@ -164,14 +172,17 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
case ECommand.RIGHT: case ECommand.RIGHT:
case ECommand.RIGHT2: case ECommand.RIGHT2:
PlayerStateMachine.IncreaseTargetLane(); PlayerStateMachine.IncreaseTargetLane();
JumpSound.Play();
break; break;
case ECommand.LEFT: case ECommand.LEFT:
case ECommand.LEFT2: case ECommand.LEFT2:
PlayerStateMachine.DecreaseTargetLane(); PlayerStateMachine.DecreaseTargetLane();
JumpSound.Play();
break; break;
case ECommand.UP: case ECommand.UP:
case ECommand.UP2: case ECommand.UP2:
PlayerStateMachine.SetState(PlayerStateMachine.PlayerJumpState); PlayerStateMachine.SetState(PlayerStateMachine.PlayerJumpState);
JumpSound.Play();
break; break;
case ECommand.DOWN: case ECommand.DOWN:
case ECommand.DOWN2: case ECommand.DOWN2:

View File

@ -55,4 +55,12 @@ public class Statistics : MonoBehaviour,IResettable
coinMultiplier = 1; coinMultiplier = 1;
//gameOverPopUp.gameObject.SetActive(false); //gameOverPopUp.gameObject.SetActive(false);
} }
public void AddScore(int amount)
{
Score += amount;
OnScoreCalculated?.Invoke(Score);
playerHUD.UpdateScore(Score.ToString());
}
} }

View File

@ -1,5 +1,9 @@
using System; using System;
using System.Collections; using System.Collections;
using UnityEngine; using UnityEngine;
public class CoinPool : BasePool<Coin> namespace Pools
{} {
public sealed class CoinPool : BasePool<Coin>
{}
}

View File

@ -1,13 +1,13 @@
using Pools; using Pools;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class ChunkGenerator : MonoBehaviour public class ChunkGenerator : MonoBehaviour
{ {
[SerializeField] private LaneSystem LaneSystem; [SerializeField] private LaneSystem LaneSystem;
public CoinPool CoinPool { get; private set; } [SerializeField] private CoinPool coinPool;
[field: SerializeField] public List<ObstaclePool> ObstaclePools { get; private set; } [field: SerializeField] public List<ObstaclePool> ObstaclePools { get; private set; }
private bool _isFirstChunk = true; private bool _isFirstChunk = true;
public Chunk Generate(Chunk chunkToFill) public Chunk Generate(Chunk chunkToFill)
{ {
@ -16,21 +16,56 @@ public class ChunkGenerator : MonoBehaviour
_isFirstChunk = false; _isFirstChunk = false;
return chunkToFill; return chunkToFill;
} }
if (ObstaclePools.IsEmpty()) if (!ObstaclePools.IsEmpty())
return chunkToFill;
var obstaclePool = ObstaclePools.GetRandomElement();
var obstacle = obstaclePool.Spawn();
chunkToFill.Obstacles.Add(obstacle);
obstacle.transform.SetParent(chunkToFill.transform, true);
obstacle.transform.localPosition = chunkToFill.Grid.GetRandomPosition();
if (obstacle.IsOnAllLanes)
{ {
obstacle.transform.localPosition = new Vector3( var obstaclePool = ObstaclePools.GetRandomElement();
LaneSystem.CenterLane * LaneSystem.LaneWidth, var obstacle = obstaclePool.Spawn();
transform.localPosition.y, chunkToFill.Obstacles.Add(obstacle);
transform.localPosition.z obstacle.transform.SetParent(chunkToFill.transform, true);
); obstacle.transform.localPosition = chunkToFill.Grid.GetRandomPosition();
if (obstacle.IsOnAllLanes)
{
obstacle.transform.localPosition = new Vector3(
LaneSystem.CenterLane * LaneSystem.LaneWidth,
transform.localPosition.y,
transform.localPosition.z
);
}
} }
Coin coin = coinPool.Spawn();
chunkToFill.Coins.Add(coin);
coin.transform.SetParent(chunkToFill.transform, true);
Vector3 randomPosition;
bool isPositionValid = false;
int laneIndex = Random.Range(0, LaneSystem.LaneCount);
randomPosition = new Vector3(
laneIndex * LaneSystem.LaneWidth,
chunkToFill.Grid.GetRandomPosition().y + 1.0f,
chunkToFill.Grid.GetRandomPosition().z
);
while (!isPositionValid)
{
isPositionValid = true;
foreach (var obstacle in chunkToFill.Obstacles)
{
if (Vector3.Distance(randomPosition, obstacle.transform.localPosition) < 1.0f)
{
isPositionValid = false;
break;
}
}
if (!isPositionValid)
{
randomPosition = new Vector3(
laneIndex * LaneSystem.LaneWidth,
chunkToFill.Grid.GetRandomPosition().y + 1.0f,
chunkToFill.Grid.GetRandomPosition().z
);
}
}
coin.transform.localPosition = randomPosition;
coin.UpdateStartPositionForSinAnimator();
return chunkToFill; return chunkToFill;
} }
} }

View File

@ -38,6 +38,7 @@ public abstract class Chunk : PoolingObject<Chunk>, IResettable
transform.localPosition = Vector3.zero; transform.localPosition = Vector3.zero;
transform.position = Vector3.zero; transform.position = Vector3.zero;
transform.rotation = Quaternion.identity; transform.rotation = Quaternion.identity;
Coins.Clear();
} }
private void OnTriggerExit(Collider other) private void OnTriggerExit(Collider other)
{ {

View File

@ -8,6 +8,7 @@ public class LaneSystem : MonoBehaviour,IResettable
[field: SerializeField] public float LaneWidth { get; private set; } [field: SerializeField] public float LaneWidth { get; private set; }
[SerializeField] private int laneCount; [SerializeField] private int laneCount;
public int LaneCount => laneCount;
public List<int> Lanes { get; private set; } public List<int> Lanes { get; private set; }
public float CurrentPosition { get; private set; } public float CurrentPosition { get; private set; }
public float TargetPosition { get; set; } public float TargetPosition { get; set; }

8
Assets/Sounds.meta Normal file
View File

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

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: ddf8fb13b61f8474d89b050db1febfc6
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:

BIN
Assets/Sounds/jumping_1-6452.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 1349cd948201da94d803d355043b3e6b
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:

File diff suppressed because one or more lines are too long