diff --git a/Assets/Code/Gameplay/Level/LevelBuilder.cs b/Assets/Code/Gameplay/Level/LevelBuilder.cs index 25fcf0f..a55cc32 100644 --- a/Assets/Code/Gameplay/Level/LevelBuilder.cs +++ b/Assets/Code/Gameplay/Level/LevelBuilder.cs @@ -23,12 +23,17 @@ namespace Code.Gameplay.Level [SerializeField] private GameObject[] highObstacles; [SerializeField] private GameObject[] movingLowObstacles; [SerializeField] private GameObject[] movingHighObstacles; + [SerializeField] private GameObject[] sideObstacles; [Range(0, 100)] [SerializeField] private int obstacleChance = 40; [SerializeField] private float laneDistance = 5f; [Header("Coins Settings")] [SerializeField] private GameObject coinPrefab; [Range(0, 100)] [SerializeField] private int coinChance = 50; + + [Header("Bonus Settings")] + [SerializeField] private GameObject bonusX2Prefab; + [Range(0, 100)] [SerializeField] private int bonusChance = 10; private readonly List _activeTiles = new(); private readonly List _activeEnvironment = new(); @@ -74,7 +79,7 @@ namespace Code.Gameplay.Level var lane = Random.Range(-1, 2); var spawnPos = new Vector3(lane * laneDistance, 0, zPos); - var type = Random.Range(0, 4); + var type = Random.Range(0, 5); var prefab = type switch { @@ -82,6 +87,7 @@ namespace Code.Gameplay.Level 1 => GetRandom(highObstacles), 2 => GetRandom(movingLowObstacles), 3 => GetRandom(movingHighObstacles), + 4 => GetRandom(sideObstacles), _ => null }; @@ -99,13 +105,28 @@ namespace Code.Gameplay.Level if (Random.Range(0, 100) > coinChance) return; var coinLane = Random.Range(-1, 2); - if (coinLane == occupiedLane) coinLane = (coinLane + 1 > 1) ? -1 : coinLane + 1; - - for (var i = 0; i < 2; i++) + if (coinLane == occupiedLane) { - var spawnPos = new Vector3(coinLane * laneDistance, 1f, zPos + (i * 2f)); - var coin = Instantiate(coinPrefab, spawnPos, Quaternion.identity); - coin.transform.SetParent(_activeTiles[^1].transform); + coinLane = (coinLane + 1 > 1) ? -1 : coinLane + 1; + if (coinLane == occupiedLane) coinLane = (coinLane + 1 > 1) ? -1 : coinLane + 1; + } + + var shouldSpawnBonus = Random.Range(0, 100) < bonusChance; + + if (shouldSpawnBonus && bonusX2Prefab) + { + var spawnPos = new Vector3(coinLane * laneDistance, 1f, zPos + tileLength / 2f); + var bonus = Instantiate(bonusX2Prefab, spawnPos, Quaternion.identity); + bonus.transform.SetParent(_activeTiles[^1].transform); + } + else if (coinPrefab) + { + for (var i = 0; i < 2; i++) + { + var spawnPos = new Vector3(coinLane * laneDistance, 1f, zPos + (i * 2f)); + var coin = Instantiate(coinPrefab, spawnPos, Quaternion.identity); + coin.transform.SetParent(_activeTiles[^1].transform); + } } } diff --git a/Assets/Code/Gameplay/Level/SideMovingObstacle.cs b/Assets/Code/Gameplay/Level/SideMovingObstacle.cs new file mode 100644 index 0000000..30f29f3 --- /dev/null +++ b/Assets/Code/Gameplay/Level/SideMovingObstacle.cs @@ -0,0 +1,39 @@ +using UnityEngine; + +namespace Code.Gameplay.Level +{ + public class SideMovingObstacle : MonoBehaviour + { + public float speed = 10f; + [SerializeField] private float range = 7f; + private bool _movingRight; + + private void Start() + { + _movingRight = transform.position.x < 0; + UpdateRotation(); + } + + private void Update() + { + var step = speed * Time.deltaTime; + transform.Translate(Vector3.forward * step); + + if (_movingRight && transform.position.x >= range) + { + _movingRight = false; + UpdateRotation(); + } + else if (!_movingRight && transform.position.x <= -range) + { + _movingRight = true; + UpdateRotation(); + } + } + + private void UpdateRotation() + { + transform.rotation = Quaternion.Euler(0, _movingRight ? 90 : -90, 0); + } + } +} \ No newline at end of file diff --git a/Assets/Code/Gameplay/Level/SideMovingObstacle.cs.meta b/Assets/Code/Gameplay/Level/SideMovingObstacle.cs.meta new file mode 100644 index 0000000..4d6be16 --- /dev/null +++ b/Assets/Code/Gameplay/Level/SideMovingObstacle.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: df5440b2c95b476d82146a905aa5aa50 +timeCreated: 1772953789 \ No newline at end of file diff --git a/Assets/Code/Gameplay/Player/PlayerController.cs b/Assets/Code/Gameplay/Player/PlayerController.cs index 5cdd314..6c1dbef 100644 --- a/Assets/Code/Gameplay/Player/PlayerController.cs +++ b/Assets/Code/Gameplay/Player/PlayerController.cs @@ -1,3 +1,5 @@ +using System; +using Code.UI; using UnityEngine; namespace Code.Gameplay.Player @@ -15,8 +17,11 @@ namespace Code.Gameplay.Player private CharacterController _controller; private Vector3 _direction; - public System.Action OnPlayerDeath; - private bool _isDead = false; + public Action OnPlayerDeath; + private bool _isDead; + + private bool _isDoubleCoins; + private float _bonusTimer; private void Start() { @@ -73,6 +78,7 @@ namespace Code.Gameplay.Player _controller.Move(finalMove); CheckForDeath(); + HandleBonusTimer(); } public void IncreaseSpeed(float amount) @@ -86,12 +92,42 @@ namespace Code.Gameplay.Player private void OnTriggerEnter(Collider foreign) { + if (foreign.CompareTag("Obstacle")) + { + Die(); + } + if (foreign.CompareTag("Coin")) { - UI.GameplayController.Instance.AddCoin(); - + var amount = _isDoubleCoins ? 2 : 1; + for(var i = 0; i < amount; i++) GameplayController.Instance.AddCoin(); + Destroy(foreign.gameObject); } + + if (foreign.CompareTag("BonusX2")) + { + ActivateDoubleCoins(10f); + Destroy(foreign.gameObject); + } + } + + private void ActivateDoubleCoins(float duration) + { + _isDoubleCoins = true; + _bonusTimer = duration; + } + + private void HandleBonusTimer() + { + if (_bonusTimer > 0) + { + _bonusTimer -= Time.deltaTime; + if (_bonusTimer <= 0) + { + _isDoubleCoins = false; + } + } } private void CheckForDeath() diff --git a/Assets/Resources/Materials/Bonus.meta b/Assets/Resources/Materials/Bonus.meta new file mode 100644 index 0000000..02f74a8 --- /dev/null +++ b/Assets/Resources/Materials/Bonus.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fdc8f95a4844676dcaaaf8ba8c411c13 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/Bonus/Bonus.mat b/Assets/Resources/Materials/Bonus/Bonus.mat new file mode 100644 index 0000000..b93020c --- /dev/null +++ b/Assets/Resources/Materials/Bonus/Bonus.mat @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bonus + 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: 2800000, guid: 2f506730c21118b849fcf4bf78b36f72, type: 3} + 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: 2800000, guid: 2f506730c21118b849fcf4bf78b36f72, type: 3} + 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: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &5725184491951109432 +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 diff --git a/Assets/Resources/Materials/Bonus/Bonus.mat.meta b/Assets/Resources/Materials/Bonus/Bonus.mat.meta new file mode 100644 index 0000000..faa61a8 --- /dev/null +++ b/Assets/Resources/Materials/Bonus/Bonus.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e88c9d1686a4287091db407c94f86f0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/Bonus/Coin2_BaseColor.jpg b/Assets/Resources/Materials/Bonus/Coin2_BaseColor.jpg new file mode 100644 index 0000000..ca16581 --- /dev/null +++ b/Assets/Resources/Materials/Bonus/Coin2_BaseColor.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78e10e95b7dd7081024590882ecd814e23c3eb26a0f1382542f29a2ae1b4a1ab +size 438002 diff --git a/Assets/Resources/Materials/Bonus/Coin2_BaseColor.jpg.meta b/Assets/Resources/Materials/Bonus/Coin2_BaseColor.jpg.meta new file mode 100644 index 0000000..79103b9 --- /dev/null +++ b/Assets/Resources/Materials/Bonus/Coin2_BaseColor.jpg.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 2f506730c21118b849fcf4bf78b36f72 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Meshes/Bonus.fbx b/Assets/Resources/Meshes/Bonus.fbx new file mode 100644 index 0000000..87a53eb --- /dev/null +++ b/Assets/Resources/Meshes/Bonus.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58abc7735bf48bf94870f7fc16c78081c9f8ea3b6300e49a5185cee3e72285eb +size 28652 diff --git a/Assets/Resources/Meshes/Bonus.fbx.meta b/Assets/Resources/Meshes/Bonus.fbx.meta new file mode 100644 index 0000000..344632c --- /dev/null +++ b/Assets/Resources/Meshes/Bonus.fbx.meta @@ -0,0 +1,110 @@ +fileFormatVersion: 2 +guid: 59255d1dc734f47178bf80afbe81a430 +ModelImporter: + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + 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 + 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 + 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/Resources/Prefabs/Bonus.prefab b/Assets/Resources/Prefabs/Bonus.prefab new file mode 100644 index 0000000..1c44435 --- /dev/null +++ b/Assets/Resources/Prefabs/Bonus.prefab @@ -0,0 +1,163 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5716980629680849791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6867377606574830772} + - component: {fileID: 2570999151194577002} + - component: {fileID: 407853720267767833} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6867377606574830772 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5716980629680849791} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 150, y: 150, z: 150} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 8295016493607545203} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2570999151194577002 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5716980629680849791} + m_Mesh: {fileID: -5216581434543980006, guid: 59255d1dc734f47178bf80afbe81a430, type: 3} +--- !u!23 &407853720267767833 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5716980629680849791} + 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: 3e88c9d1686a4287091db407c94f86f0, 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6445430404384843020 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8295016493607545203} + - component: {fileID: 2044664455901145592} + - component: {fileID: 1806225789069570271} + m_Layer: 0 + m_Name: Bonus + m_TagString: BonusX2 + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8295016493607545203 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6445430404384843020} + 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: 6867377606574830772} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2044664455901145592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6445430404384843020} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83c61140120e4627941c775e56bbfd98, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Coin.Coin + rotationAngle: {x: 0, y: 360, z: 0} + rotationDuration: 5 + amplitude: 1 + cycleDuration: 1.5 +--- !u!65 &1806225789069570271 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6445430404384843020} + 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.2, y: 8.93, z: 0.3} + m_Center: {x: 0, y: 1.25, z: 0} diff --git a/Assets/Resources/Prefabs/Bonus.prefab.meta b/Assets/Resources/Prefabs/Bonus.prefab.meta new file mode 100644 index 0000000..b47ee30 --- /dev/null +++ b/Assets/Resources/Prefabs/Bonus.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ef898106803dbac0492f429445846167 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/MovingObstacles/SideObstacle.prefab b/Assets/Resources/Prefabs/MovingObstacles/SideObstacle.prefab new file mode 100644 index 0000000..8a40374 --- /dev/null +++ b/Assets/Resources/Prefabs/MovingObstacles/SideObstacle.prefab @@ -0,0 +1,493 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2268291853166280684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2706530854681872266} + - component: {fileID: 4429483539466402707} + - component: {fileID: 6140756112595765980} + m_Layer: 0 + m_Name: FR_Wheel.005 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2706530854681872266 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2268291853166280684} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.8427849, y: 0.38013107, z: 1.4240025} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1348718573842630220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4429483539466402707 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2268291853166280684} + m_Mesh: {fileID: 2488868095558117755, guid: 67cc45dda15375e4888e52bddff60955, type: 3} +--- !u!23 &6140756112595765980 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2268291853166280684} + 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: 963b24a7c4a7885438948b252ad988f5, 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6053335324125489642 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6652710808237633242} + - component: {fileID: 6674088963005812557} + - component: {fileID: 5345422468536788936} + m_Layer: 0 + m_Name: BR_Wheel.005 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6652710808237633242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6053335324125489642} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.843, y: 0.38013107, z: -1.651} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1348718573842630220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6674088963005812557 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6053335324125489642} + m_Mesh: {fileID: 2488868095558117755, guid: 67cc45dda15375e4888e52bddff60955, type: 3} +--- !u!23 &5345422468536788936 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6053335324125489642} + 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: 963b24a7c4a7885438948b252ad988f5, 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6452039197999972492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1348718573842630220} + - component: {fileID: 3397231750239087119} + - component: {fileID: 2474458940805093291} + - component: {fileID: 4358233747553342435} + - component: {fileID: 7269502149716213726} + m_Layer: 0 + m_Name: SideObstacle + m_TagString: Obstacle + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1348718573842630220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6452039197999972492} + 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: 2049258199814927891} + - {fileID: 2706530854681872266} + - {fileID: 1668287245920614700} + - {fileID: 6652710808237633242} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3397231750239087119 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6452039197999972492} + m_Mesh: {fileID: -5293043589923337174, guid: 67cc45dda15375e4888e52bddff60955, type: 3} +--- !u!23 &2474458940805093291 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6452039197999972492} + 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: 963b24a7c4a7885438948b252ad988f5, type: 2} + - {fileID: 2100000, guid: 963b24a7c4a7885438948b252ad988f5, 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &4358233747553342435 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6452039197999972492} + 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.3774698, y: 2.001599, z: 4.6715164} + m_Center: {x: -0.0000015497208, y: 1.2696394, z: -0.22728789} +--- !u!114 &7269502149716213726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6452039197999972492} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df5440b2c95b476d82146a905aa5aa50, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Level.SideMovingObstacle + speed: 10 +--- !u!1 &6685709738900195085 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1668287245920614700} + - component: {fileID: 6589598538725080313} + - component: {fileID: 1238829709309533917} + m_Layer: 0 + m_Name: BL_Wheel.005 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1668287245920614700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6685709738900195085} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.841, y: 0.3801309, z: -1.651} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1348718573842630220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6589598538725080313 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6685709738900195085} + m_Mesh: {fileID: 3035921978905498287, guid: 67cc45dda15375e4888e52bddff60955, type: 3} +--- !u!23 &1238829709309533917 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6685709738900195085} + 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: 963b24a7c4a7885438948b252ad988f5, 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7347992844397126573 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2049258199814927891} + - component: {fileID: 167818546679715768} + - component: {fileID: 2492090206132236921} + m_Layer: 0 + m_Name: FL_Wheel.005 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2049258199814927891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7347992844397126573} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.8407421, y: 0.3801309, z: 1.424} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1348718573842630220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &167818546679715768 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7347992844397126573} + m_Mesh: {fileID: 3035921978905498287, guid: 67cc45dda15375e4888e52bddff60955, type: 3} +--- !u!23 &2492090206132236921 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7347992844397126573} + 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: 963b24a7c4a7885438948b252ad988f5, 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Resources/Prefabs/MovingObstacles/SideObstacle.prefab.meta b/Assets/Resources/Prefabs/MovingObstacles/SideObstacle.prefab.meta new file mode 100644 index 0000000..f76331f --- /dev/null +++ b/Assets/Resources/Prefabs/MovingObstacles/SideObstacle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6c6e2ec49a49f7bf9a40f5efce4fbfc3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Scenes/Gameplay.unity b/Assets/Resources/Scenes/Gameplay.unity index 3e5469f..a1ada59 100644 --- a/Assets/Resources/Scenes/Gameplay.unity +++ b/Assets/Resources/Scenes/Gameplay.unity @@ -1162,10 +1162,14 @@ MonoBehaviour: - {fileID: 9181701585240893179, guid: 3d6c3057306a5d35fa7bcddf0c5c3ba1, type: 3} movingHighObstacles: - {fileID: 2634900756195477355, guid: 3b556db2eeee7891aace4c9813d61ece, type: 3} + sideObstacles: + - {fileID: 6452039197999972492, guid: 6c6e2ec49a49f7bf9a40f5efce4fbfc3, type: 3} obstacleChance: 40 laneDistance: 5 coinPrefab: {fileID: 6194480396342562477, guid: daee6911782c4e8f8aec681a2a292e12, type: 3} coinChance: 50 + bonusX2Prefab: {fileID: 6445430404384843020, guid: ef898106803dbac0492f429445846167, type: 3} + bonusChance: 10 --- !u!114 &892292347 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 923850e..18778ad 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -6,6 +6,7 @@ TagManager: tags: - Obstacle - Coin + - BonusX2 layers: - Default - TransparentFX