diff --git a/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders.meta b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders.meta new file mode 100644 index 00000000..8817897a --- /dev/null +++ b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4326e785908b714b8a7213e93e5229f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/DronePlaceholder.png b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/DronePlaceholder.png new file mode 100644 index 00000000..239cfc78 Binary files /dev/null and b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/DronePlaceholder.png differ diff --git a/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/DronePlaceholder.png.meta b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/DronePlaceholder.png.meta new file mode 100644 index 00000000..245f08a6 --- /dev/null +++ b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/DronePlaceholder.png.meta @@ -0,0 +1,156 @@ +fileFormatVersion: 2 +guid: af39a1a1c9ae02447a4f4ddad308359f +TextureImporter: + internalIDToNameTable: + - first: + 213: 1321569088537654207 + second: DronePlaceholder_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + 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 + - serializedVersion: 4 + buildTarget: Android + 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: + - serializedVersion: 2 + name: DronePlaceholder_0 + rect: + serializedVersion: 2 + x: 56 + y: 37 + width: 394 + height: 183 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: fb37c648518275210800000000000000 + internalID: 1321569088537654207 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + DronePlaceholder_0: 1321569088537654207 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/HangingCOnstructionMaterialPLaceholder.png b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/HangingCOnstructionMaterialPLaceholder.png new file mode 100644 index 00000000..010ade3d Binary files /dev/null and b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/HangingCOnstructionMaterialPLaceholder.png differ diff --git a/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/HangingCOnstructionMaterialPLaceholder.png.meta b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/HangingCOnstructionMaterialPLaceholder.png.meta new file mode 100644 index 00000000..d0363c10 --- /dev/null +++ b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/HangingCOnstructionMaterialPLaceholder.png.meta @@ -0,0 +1,156 @@ +fileFormatVersion: 2 +guid: 9e10d6ac650a009419a0155f783a4496 +TextureImporter: + internalIDToNameTable: + - first: + 213: 2158494403769114769 + second: HangingCOnstructionMaterialPLaceholder_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + 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 + - serializedVersion: 4 + buildTarget: Android + 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: + - serializedVersion: 2 + name: HangingCOnstructionMaterialPLaceholder_0 + rect: + serializedVersion: 2 + x: 723 + y: 100 + width: 1784 + height: 2832 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 190a35a593384fd10800000000000000 + internalID: 2158494403769114769 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + HangingCOnstructionMaterialPLaceholder_0: 2158494403769114769 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/WaterGuy.png b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/WaterGuy.png new file mode 100644 index 00000000..cee37114 Binary files /dev/null and b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/WaterGuy.png differ diff --git a/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/WaterGuy.png.meta b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/WaterGuy.png.meta new file mode 100644 index 00000000..efdd78b5 --- /dev/null +++ b/Assets/Art/Levels/MinigameBirdPoop/Sprites/Placeholders/WaterGuy.png.meta @@ -0,0 +1,156 @@ +fileFormatVersion: 2 +guid: 8153ebd980cd91546bf902abcb7527f4 +TextureImporter: + internalIDToNameTable: + - first: + 213: -4038573204116758458 + second: WaterGuy_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + 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 + - serializedVersion: 4 + buildTarget: Android + 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: + - serializedVersion: 2 + name: WaterGuy_0 + rect: + serializedVersion: 2 + x: 19 + y: 0 + width: 344 + height: 982 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 640a531711b14f7c0800000000000000 + internalID: -4038573204116758458 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + WaterGuy_0: -4038573204116758458 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/BaseObstacle.prefab b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/BaseObstacle.prefab index 9d392451..6ee33ae3 100644 --- a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/BaseObstacle.prefab +++ b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/BaseObstacle.prefab @@ -191,6 +191,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &6932862566265229765 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -236,6 +237,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -245,5 +247,4 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleDouble.prefab b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleDouble.prefab index 99390f9a..13ba3c57 100644 --- a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleDouble.prefab +++ b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleDouble.prefab @@ -35,6 +35,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} --- !u!212 &695780946711226762 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -80,6 +81,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -89,7 +91,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &765415076430592190 PolygonCollider2D: @@ -177,6 +178,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} --- !u!212 &118828299350810177 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -222,6 +224,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -231,7 +234,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &7196072577334775944 PolygonCollider2D: diff --git a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm Variant 2.prefab b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm Variant 2.prefab index 6baeff9f..eb8ad26c 100644 --- a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm Variant 2.prefab +++ b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm Variant 2.prefab @@ -73,6 +73,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &4312846477351716622 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -118,6 +119,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -127,7 +129,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &1310545089398666425 PolygonCollider2D: @@ -215,6 +216,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &4614641615432033512 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -260,6 +262,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -269,7 +272,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &5966527545988330056 PolygonCollider2D: @@ -357,6 +359,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &5802213654174925301 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -402,6 +405,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -411,7 +415,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &8912794754865033401 PolygonCollider2D: @@ -499,6 +502,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &6428147036161214361 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -544,6 +548,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -553,7 +558,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &575129287904650771 PolygonCollider2D: @@ -641,6 +645,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &3964845266030148902 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -686,6 +691,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -695,7 +701,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &1840393660871080330 PolygonCollider2D: @@ -783,6 +788,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &960320755124308833 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -828,6 +834,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -837,7 +844,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &415869807059630802 PolygonCollider2D: @@ -925,6 +931,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &6011829256490573614 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -970,6 +977,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -979,7 +987,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &896040921761334320 PolygonCollider2D: diff --git a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm.prefab b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm.prefab index cfd5a759..6e3b493b 100644 --- a/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm.prefab +++ b/Assets/Prefabs/Minigames/BirdPoop/Obstacles/Middle/Base_MiddleSwarm.prefab @@ -35,6 +35,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &6866900636880822435 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -80,6 +81,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -89,7 +91,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &7776994305587784368 PolygonCollider2D: @@ -177,6 +178,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &5687261796732201622 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -222,6 +224,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -231,7 +234,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &1217204160794995541 PolygonCollider2D: @@ -319,6 +321,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &8118055305636872241 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -364,6 +367,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -373,7 +377,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &5835487137831358509 PolygonCollider2D: @@ -461,6 +464,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &7666230363269819292 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -506,6 +510,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -515,7 +520,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &4819489930565508547 PolygonCollider2D: @@ -603,6 +607,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &5344611080549128596 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -648,6 +653,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -657,7 +663,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &9012255739424212015 PolygonCollider2D: @@ -745,6 +750,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &8362497800901161610 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -790,6 +796,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -799,7 +806,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &1438676420469000432 PolygonCollider2D: @@ -887,6 +893,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &8817845658597956076 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -932,6 +939,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: -4331849829665928538, guid: 8be45455b29f80241a3b8aae36291752, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -941,7 +949,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &8146087592834655700 PolygonCollider2D: diff --git a/Assets/Prefabs/Minigames/BirdPoop/Targets/Target.prefab b/Assets/Prefabs/Minigames/BirdPoop/Targets/Target.prefab index 9fa56ef5..8a1c0bd5 100644 --- a/Assets/Prefabs/Minigames/BirdPoop/Targets/Target.prefab +++ b/Assets/Prefabs/Minigames/BirdPoop/Targets/Target.prefab @@ -34,6 +34,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &4795053012425497095 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -79,6 +80,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: 2133529702, guid: 99d4c3083e9c24142bc20deaeaf95720, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -88,7 +90,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!1 &8373178063207716143 GameObject: diff --git a/Assets/Scenes/MiniGames/BirdPoop.unity b/Assets/Scenes/MiniGames/BirdPoop.unity index 897c3daa..1208876b 100644 --- a/Assets/Scenes/MiniGames/BirdPoop.unity +++ b/Assets/Scenes/MiniGames/BirdPoop.unity @@ -618,6 +618,7 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 @@ -778,6 +779,34 @@ MonoBehaviour: - {fileID: 7335086015568222999, guid: 06674917a922d6c48a2d0ac0f6056e01, type: 3} - {fileID: 8558432647259683993, guid: 8c71dd9ad06dafc41a3308f566726ac5, type: 3} - {fileID: 461075067585331030, guid: 6a77320ba6ef47f448aa934a22bf396f, type: 3} + minSpawnInterval: 2 + maxSpawnInterval: 9 + difficultyRampDuration: 240 + difficultyCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intervalJitter: 0.6 --- !u!1 &941621855 GameObject: m_ObjectHideFlags: 0 @@ -1005,6 +1034,7 @@ Animator: m_WriteDefaultValuesOnDisable: 0 --- !u!212 &989743354 SpriteRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -1050,6 +1080,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: 4906017525639225927, guid: b91b56c53bc01e042a092ece12f32f86, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -1059,7 +1090,6 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!4 &989743355 Transform: diff --git a/Assets/Scripts/Minigames/BirdPooper/ObstacleSpawner.cs b/Assets/Scripts/Minigames/BirdPooper/ObstacleSpawner.cs index d0c1427c..ca060304 100644 --- a/Assets/Scripts/Minigames/BirdPooper/ObstacleSpawner.cs +++ b/Assets/Scripts/Minigames/BirdPooper/ObstacleSpawner.cs @@ -31,9 +31,27 @@ namespace Minigames.BirdPooper [Tooltip("Array of obstacle prefabs to spawn randomly")] [SerializeField] private GameObject[] obstaclePrefabs; + [Header("Spawn Timing")] + [Tooltip("Minimum interval between spawns (seconds)")] + [SerializeField] private float minSpawnInterval = 1f; + [Tooltip("Maximum interval between spawns (seconds)")] + [SerializeField] private float maxSpawnInterval = 2f; + + [Header("Difficulty")] + [Tooltip("Time in seconds for difficulty to ramp from 0 to 1")] + [SerializeField] private float difficultyRampDuration = 60f; + [Tooltip("Curve mapping normalized time (0..1) to difficulty (0..1). Default is linear.")] + [SerializeField] private AnimationCurve difficultyCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); + [Tooltip("Maximum jitter applied to computed interval (fractional). 0.1 = +/-10% jitter")] + [SerializeField] private float intervalJitter = 0.05f; + private IBirdPooperSettings settings; private float spawnTimer; private bool isSpawning; + private float _currentSpawnInterval = 1f; + + // difficulty tracking + private float _elapsedTime = 0f; internal override void OnManagedAwake() { @@ -44,7 +62,7 @@ namespace Minigames.BirdPooper if (settings == null) { Debug.LogError("[ObstacleSpawner] BirdPooperSettings not found!"); - return; + // continue — we now use min/max interval fields instead of relying on settings } // Validate references @@ -73,20 +91,56 @@ namespace Minigames.BirdPooper Debug.LogWarning("[ObstacleSpawner] CameraScreenAdapter not assigned. EdgeAnchor will attempt to auto-find camera."); } + // Validate interval range + if (minSpawnInterval < 0f) minSpawnInterval = 0f; + if (maxSpawnInterval < 0f) maxSpawnInterval = 0f; + if (minSpawnInterval > maxSpawnInterval) + { + float tmp = minSpawnInterval; + minSpawnInterval = maxSpawnInterval; + maxSpawnInterval = tmp; + Debug.LogWarning("[ObstacleSpawner] minSpawnInterval was greater than maxSpawnInterval. Values were swapped."); + } + + // Clamp ramp duration + if (difficultyRampDuration < 0.01f) difficultyRampDuration = 0.01f; + Debug.Log("[ObstacleSpawner] Initialized successfully"); } private void Update() { - if (!isSpawning || settings == null || spawnPoint == null) return; + if (!isSpawning || spawnPoint == null) return; spawnTimer += Time.deltaTime; + _elapsedTime += Time.deltaTime; - if (spawnTimer >= settings.ObstacleSpawnInterval) + if (spawnTimer >= _currentSpawnInterval) { SpawnObstacle(); spawnTimer = 0f; + + // pick next interval based on difficulty ramp + float t = Mathf.Clamp01(_elapsedTime / difficultyRampDuration); + float difficulty = difficultyCurve.Evaluate(t); // 0..1 + + // map difficulty to interval: difficulty 0 -> max interval (easy), 1 -> min interval (hard) + float baseInterval = Mathf.Lerp(maxSpawnInterval, minSpawnInterval, difficulty); + + // apply small jitter + if (intervalJitter > 0f) + { + float jitter = Random.Range(-intervalJitter, intervalJitter); + _currentSpawnInterval = Mathf.Max(0f, baseInterval * (1f + jitter)); + } + else + { + _currentSpawnInterval = baseInterval; + } + + // Log the computed interval and difficulty for debugging + Debug.Log($"[ObstacleSpawner] Next spawn interval: {_currentSpawnInterval:F2}s (difficulty {difficulty:F2})"); } } @@ -137,10 +191,27 @@ namespace Minigames.BirdPooper { isSpawning = true; spawnTimer = 0f; - + _elapsedTime = 0f; + + // choose initial interval based on difficulty (at time 0) + float initialDifficulty = difficultyCurve.Evaluate(0f); + float initialBase = Mathf.Lerp(maxSpawnInterval, minSpawnInterval, initialDifficulty); + if (intervalJitter > 0f) + { + float jitter = Random.Range(-intervalJitter, intervalJitter); + _currentSpawnInterval = Mathf.Max(0f, initialBase * (1f + jitter)); + } + else + { + _currentSpawnInterval = initialBase; + } + + // Log the initial computed interval + Debug.Log($"[ObstacleSpawner] Initial spawn interval: {_currentSpawnInterval:F2}s (difficulty {initialDifficulty:F2})"); + // Spawn the first obstacle immediately SpawnObstacle(); - + Debug.Log("[ObstacleSpawner] Started spawning (first obstacle spawned immediately)"); } diff --git a/Assets/Settings/BirdPooperSettings.asset b/Assets/Settings/BirdPooperSettings.asset index 2f32e1bc..332e5594 100644 --- a/Assets/Settings/BirdPooperSettings.asset +++ b/Assets/Settings/BirdPooperSettings.asset @@ -13,14 +13,14 @@ MonoBehaviour: m_Name: BirdPooperSettings m_EditorClassIdentifier: AppleHillsScripts::Core.Settings.BirdPooperSettings gravity: 100 - flapForce: 50 - maxFallSpeed: 150 + flapForce: 65 + maxFallSpeed: 170 minY: -15 maxY: 15 - maxRotationAngle: 30 - rotationSpeed: 8 + maxRotationAngle: 40 + rotationSpeed: 12 obstacleMoveSpeed: 5 - obstacleSpawnInterval: 2 + obstacleSpawnInterval: 0.1 obstacleSpawnXPosition: 12 obstacleDestroyXPosition: -12 obstacleMinSpawnY: -3