From aef93fa0a11c94da6fe48fe21c46d59c1bce5309 Mon Sep 17 00:00:00 2001 From: Braedon Date: Thu, 27 Jan 2022 21:50:57 -0500 Subject: [PATCH] Tempo change? (Don't update very buggy) --- .../Editor/GameIcons/djSchool.png.meta | 120 ++ .../Editor/GameIcons/spaceDance.png.meta | 120 ++ .../Editor/GameIcons/tapTrial.png.meta | 120 ++ .../Sprites/Editor/UI/music-note.png | Bin 0 -> 6719 bytes .../Sprites/Editor/UI/music-note.png.meta | 96 + .../Resources/Sprites/Editor/UI/selection.png | Bin 0 -> 13864 bytes .../Sprites/Editor/UI/selection.png.meta | 120 ++ .../Sprites/Editor/UI/tempo-change.png | Bin 0 -> 9126 bytes .../Sprites/Editor/UI/tempo-change.png.meta | 96 + Assets/Resources/Sprites/Editor/UI/volume.png | Bin 0 -> 14402 bytes .../Sprites/Editor/UI/volume.png.meta | 96 + Assets/Scenes/Editor.unity | 1612 ++++++++++++++++- Assets/Scripts/Beatmap.cs | 16 +- Assets/Scripts/Conductor.cs | 15 +- Assets/Scripts/GameManager.cs | 29 +- Assets/Scripts/Games/PlayerActionObject.cs | 6 +- Assets/Scripts/LevelEditor/BoxSelection.cs | 2 + Assets/Scripts/LevelEditor/Commands/Block.cs | 12 +- Assets/Scripts/LevelEditor/Editor.cs | 7 +- Assets/Scripts/LevelEditor/EditorTheme.cs | 2 + .../EventSelector/GridGameSelector.cs | 7 +- Assets/Scripts/LevelEditor/Selections.cs | 2 + Assets/Scripts/LevelEditor/Timeline.meta | 8 + .../LevelEditor/Timeline/TempoTimeline.cs | 56 + .../Timeline/TempoTimeline.cs.meta | 11 + .../LevelEditor/Timeline/TempoTimelineObj.cs | 45 + .../Timeline/TempoTimelineObj.cs.meta | 11 + .../LevelEditor/{ => Timeline}/Timeline.cs | 36 +- .../{ => Timeline}/Timeline.cs.meta | 0 .../{ => Timeline}/TimelineEventObj.cs | 9 +- .../{ => Timeline}/TimelineEventObj.cs.meta | 0 Assets/Scripts/LevelEditor/editortheme.json | 4 +- Assets/Scripts/Minigames.cs | 11 +- 33 files changed, 2630 insertions(+), 39 deletions(-) create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/djSchool.png.meta create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/spaceDance.png.meta create mode 100644 Assets/Resources/Sprites/Editor/GameIcons/tapTrial.png.meta create mode 100644 Assets/Resources/Sprites/Editor/UI/music-note.png create mode 100644 Assets/Resources/Sprites/Editor/UI/music-note.png.meta create mode 100644 Assets/Resources/Sprites/Editor/UI/selection.png create mode 100644 Assets/Resources/Sprites/Editor/UI/selection.png.meta create mode 100644 Assets/Resources/Sprites/Editor/UI/tempo-change.png create mode 100644 Assets/Resources/Sprites/Editor/UI/tempo-change.png.meta create mode 100644 Assets/Resources/Sprites/Editor/UI/volume.png create mode 100644 Assets/Resources/Sprites/Editor/UI/volume.png.meta create mode 100644 Assets/Scripts/LevelEditor/Timeline.meta create mode 100644 Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs create mode 100644 Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs.meta create mode 100644 Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs create mode 100644 Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs.meta rename Assets/Scripts/LevelEditor/{ => Timeline}/Timeline.cs (91%) rename Assets/Scripts/LevelEditor/{ => Timeline}/Timeline.cs.meta (100%) rename Assets/Scripts/LevelEditor/{ => Timeline}/TimelineEventObj.cs (97%) rename Assets/Scripts/LevelEditor/{ => Timeline}/TimelineEventObj.cs.meta (100%) diff --git a/Assets/Resources/Sprites/Editor/GameIcons/djSchool.png.meta b/Assets/Resources/Sprites/Editor/GameIcons/djSchool.png.meta new file mode 100644 index 00000000..a993d2d8 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/GameIcons/djSchool.png.meta @@ -0,0 +1,120 @@ +fileFormatVersion: 2 +guid: d9e16d1a9c755fb4eaee2c9dde5c90ce +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/GameIcons/spaceDance.png.meta b/Assets/Resources/Sprites/Editor/GameIcons/spaceDance.png.meta new file mode 100644 index 00000000..724b2bd7 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/GameIcons/spaceDance.png.meta @@ -0,0 +1,120 @@ +fileFormatVersion: 2 +guid: e981b58e3e8bac4419e2d70f6a1406bb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/GameIcons/tapTrial.png.meta b/Assets/Resources/Sprites/Editor/GameIcons/tapTrial.png.meta new file mode 100644 index 00000000..e661c8a0 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/GameIcons/tapTrial.png.meta @@ -0,0 +1,120 @@ +fileFormatVersion: 2 +guid: 4175d83ff0c404f41adbfe1936e9801c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/UI/music-note.png b/Assets/Resources/Sprites/Editor/UI/music-note.png new file mode 100644 index 0000000000000000000000000000000000000000..465414f52d04db9ff72b93100ae61af251b30612 GIT binary patch literal 6719 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 HsdIk=VLC~N literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sprites/Editor/UI/music-note.png.meta b/Assets/Resources/Sprites/Editor/UI/music-note.png.meta new file mode 100644 index 00000000..c8370b54 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/UI/music-note.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: a1e215e768b7d1b4e93a60f8ce9c10fc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 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: 1 + 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 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/UI/selection.png b/Assets/Resources/Sprites/Editor/UI/selection.png new file mode 100644 index 0000000000000000000000000000000000000000..e5221b236ec241e934b2dbe5af93090dcdcf6953 GIT binary patch literal 13864 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 literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sprites/Editor/UI/selection.png.meta b/Assets/Resources/Sprites/Editor/UI/selection.png.meta new file mode 100644 index 00000000..5533ed57 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/UI/selection.png.meta @@ -0,0 +1,120 @@ +fileFormatVersion: 2 +guid: 6e7b88d9d62ed1b429c63b83745e3672 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 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: 1 + 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 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/UI/tempo-change.png b/Assets/Resources/Sprites/Editor/UI/tempo-change.png new file mode 100644 index 0000000000000000000000000000000000000000..be220d3c0d76cb0fd822681d367cff9bd1a55524 GIT binary patch literal 9126 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 literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sprites/Editor/UI/tempo-change.png.meta b/Assets/Resources/Sprites/Editor/UI/tempo-change.png.meta new file mode 100644 index 00000000..8ca5a90e --- /dev/null +++ b/Assets/Resources/Sprites/Editor/UI/tempo-change.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 44c391c5df20f2844b9437c0f3138355 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 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: 1 + 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 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/UI/volume.png b/Assets/Resources/Sprites/Editor/UI/volume.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e100c57443f26dd728a6e046fc977360477953 GIT binary patch literal 14402 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%0A8nh;>?r%kAIoljp)mK0*$eOD8O`Qp!VhwLO zFcf$<=0(ohuzQVw-xZ_d0Cw`B1at zWV~hP`e)2&pc}>o9Lbv>yF2$&RW+9e=ZaK_=C_qzj(!d>xwb|FTr`!Ge|<@DQjVrb64iub!9yNHJ2xRf*iO8s`$(6BOnmX9fR{r1>1Iz$aqy0pD)Suxts0HxJ(g#QxF$nmnUNnoM84ZLNO*} z3PB`%XoG%N0zBNk?Pua1@)g~xs;AK44`MvHYh3Kwxz*kAGc{)FRzioMMBqC7Vs3z+ z5o1~P*;sz1mKBJc3)~4+4AkiQk`PoXy2@09k}>ry}ja$Lse;%dy4-^HQ>TBHvG z-^F)-^8#unEVT&t3URSiq6x_79L7Hin^Av#5tfG^ZO~7e&`a`;(;^Nw5Op!9RtH(iuXI z<$|bF%4`dZixt5!6Zvx2)7OD(}J8Ve4{ha1s}c|N4Hszx)j-uS@o`=UNJiC@FcEsc2iQ zZSbb?IaqWJ3|Q002IA`0;w)=S-(C@Qes+9sj%rVnBb!MKZveⅇQ6KoT?NmhZP>z#o5 zfh@?AuM*t>z(a$ODsNP)%RKYbbiikr-;zhvp{HU$ALwzk*WYaeIqnR#bpohU%iu*loWRm_qY$g zWP*Z=OU7M$UzwK4_s0@fs;0jyF3>^Tg;v)%=i2rmRTHa_lM;g-P+2-z75)UdDbMmz z*=cZ%s>^bZ1^d(83*?pY0*=UBY-%fyn0ETs{Gya6{b~IB_?67<8bn<9x1TM*%7hYk z@l1e1`gC}2hS5t0QgJy0tZ^a$-F;vLBrw#sAId%M@zfi|Dno`-bsOk7H%QE~WFGW1 z?0*dYsaX*W(Dmr@dpBz;ON{F*fm=}CSHJ+K{$TIZBO<4~*R|Fly`2cc8I$=P%z|&~ zx4lp@Wocu>466G4DLYiO>LG#94}`!ale9G5nDkLj!#=2=xus>UP-`AwVX?8X#Wz~G zL5|Rj4!*oR+d;{YQEejjNQUE)(9xI9b=`Khx-2>&VtJ`2RRB@v{>3hs7rY;{Ulfnh zHX=uW7%BK_H29jVzXAs!i+5@&b#t)|=GL*vuJ94^;AGUQxc8==y*+Jq@5tDgv73;X zm@#l!sGP5zqn!-2VQ4e8%Qy<;_L6PR#-i!=~U9&vjAs^A)UhQJyB`tDD&_ z%cHhH;o^n-cdc3CsCnR53@85yYE}Pl6=h^W-h3z&%Cv_V_&Qy%eemz@w8LPIKL^C3 zOs=xFgbazmUk;mHK&M1Ki#0+*diINwf%i^IO)Z+TV+H(I-ChUE6`zuw?f99k@`|s= zpHsDqe`@F5wI~oX6taJJdtDUPwJX1U=703#15f8(K1-tzT1@`i3kSgj<_CvpVtR8Ra^C1elcyOgA}`su20fX71`R^(eO9}20jin2Ci0r zLv#B3QoH`B>+Dr>?D;hP9JIRJr`&`+%0M9i9kJ4tPf(*7Tx|is z5NJ+rbt3w)vR#~QN0H#-g@IdYtnvj(MX=;q3%_R#?NtC=(eO2qZOO{&U1&oygq&`2 zWLG~$joO0MdOAA!-SJn+ah;PkI6N>g{Bdp$%7jYPB@5)h^Yw^F4>A;qqlC=}miY~m8*{c%$A~x=H`}+Q3bscLQhn_w zk{J+N4lY{y0hE{h4sLu}8W~8g-pp;1Kz3irTcrP!y?saQfvbdKVZaH%Se+6{vmG7iq-YZl3~3YL19RIg!5Ryb%}jd~b+0IVY!j z$qmK&_2ccgRv5sM#JzbcMwBSEAI&n37a_kfQG(xdacEX?e*g4W-|^mB$!O-vQ*=*X zrD0X`9KED>IYnoBvedQF@pE#}5q%E2I$rNP{m^6-6nI}P+CABxh@l_DdXmh|S^d-=1&623(l7S)7u46i30ELj5im zlhJS8mn!B~fIobIEmb}KKO#_XAX%9uVqI)k|HALIbrn#9|-~>eplV#dS0RGLj zy3*RceNwU%5_OZV-tH}p@qiQPc*46E_Jp+*L8s8+bABJdkb^G{W(7^?h_Eqo`)yXE zL0aCyZd9Oy11g&FeH1aLRRKEe20q1Wmsc2M8qcqRQu?;F3B^!6^& zeTmD5+dVilH~`>>$3B>5g@;| zNdXY>{F-)}$FB|Dt6YBJ`)q|iHgYI_93UScHkkX0Jxp0AAO~fSz;M3YBOL&6&yEm9 z$Uk4tFtgSE93Kmel=duo7ocOqAu9%=x39zNv#16dp#Tt@F=PPDj!5S*c51Q$57v;L ztc1%m%?}pJVE7xCz<>sO7E08}aa@6^pzyWe`5g!Ac>#K;%^7>YCbem|EO^bI6TeDi z$Q-T=UWegR6x|jZ#0wpNTEgQ6YVTh^KA4?OO*%L%G*>j}Q-^wbqAF1cBbgg{w6vtZfr-H~_6DeMT?=1&gX>d0eSOpgxn+Yo z^C`>zt6!s5DSn#5M$l5wF4x!9P3}{952d;8{G_}lJpB4XcTii#>Dz3fS6OhBtt}ND z-Yt>@1{uql<$g#bBM$YgY61whhOp_Mrze5;BD@><FBR$5|-OB z8K6-IV3ndVCD4gWAi6=sa2LAhcHJ6FX(oz>sXy#S+EKH=KWDa$X0tHvj4Fpf&zC38 z8z7H<>2m^XroyDjPB||MwC>bSzNML=yQgE8jgu0u<8$UsuEzKeld1PBXojWV_>`YY zRaRO$k*a-{+Av4VbwTkO76HF#yJa!}rX4^d&vcRF7J$z@^k(M`n(i9l;%+3enW~b# zqO)K9+HGwtYXgIKO+5ENg3^;xRa@I{kz57D6D%$+u0I&@LQ1r+@qrBQXdq4K+M@iU zK1NSZ&-d+K_RY?-H$hY5Wrcp(E~wTJAcHvubT@!(jh8ZaW&l9H@eEtH@gm-L2l=@y zadwMe1Tvq}GWy-_h{oC^t{!16GVf}HWIe!qlYH&P9+N6SrLSt`Iwkc?Ym88oi529z z!GZ+QRmRtK+0i4CY1rVtB2REzTu1b*O7T~n8NWAv#t2hEqu}`yhz2$hQAKfaIDo|2 z^p7YEyy7F;z8y3905d*jy`y`A9RZ??y=@i^O;`HdV~9)y@wh7F_uAAuFf%X? zda7jPToUx$rHqBzkgWEAKH|4e#a@l1^H{Wh_5mQDc<^z(%i-7P*WVF1%-`(f<&aDm z{v>!IKA^VHu_uZPdAw(3I54-JmYe&-lotJ=BOM69_I?}2xmma`3Hy`7TGgfg2?&Wa z<|no?-h46JHz6Dw25+>q2lMi|=wP`Z3WL3H- z-2-G2aNVYFbzRJeib`iJyrwus{(_+GeoW-&&$iVjO;`YJaqaZd0PZqD?Bm8~qrA2l z)v{Oe&D?!(g5AG_}SO$ zdWGkyJieVQvd2YYVL8dLIfG4qizf1TtAHeWgN2#qY65NxB1QO#0TOOFg$n@0xt{x- zRW{^!5$<3fLV|=RUn=CsUrfymr?NEv_9cn`$@P5vP!7l&l@m5f)5wPxXGeahPE8bW zk{iu@slzO%){6BuB;(HwNz~cAOf46K;9&CWZ2lZm@OQsQRjeqEHt6pG)7`{vFm14j zm}K$XS8KY9Gf#PfG>NhyAD=TM(Popb`TpHyY-z~r^p~SapOdoP;I~_8L?r1khWGB_ zb%Qh_lG#EUn~2`q^KOvRH!v2^@W|o3GTKptkmx=uoS`Z@NC}t)`IVq`(yCsyx^`?7 z#^ua73RAzw{xeVEqlknnnIrA|H?aFK`Aw9%9_}-J0!f0Dz;#w`$|{gX&p38dq?((z z^nfA1*d)g#oQ8y$+zc=}Cd)wXfhFtc=y=sXMK&ZvMlpoUId;cFY_FysSSDYPtZoI3 zgJCcX9L%{|<{?mhm4b<)EPNNTF3{@d4nHSJmcnjn87V#wc;{41vEiC0Kz?Jp6!sm;TQm~ zAF*9M1hL2|F`EF)s(_lKM85h`_8rpsvoyF={3Mvk`O!m7AE;Z;7$BWxHjAEC)YT;s zaa)2%z~6FE4&M7khv*Xwoy2B_9^MNy1<>hxNvU7u)(IpB9K<;90od6*sFraxv}I>k ziq~MO&KF0{co?#~Cy13K!NPf~c*EhzhfcpDU|!-O=g%?gg8Rt}sjs?^S6N0BYyyD9 z*x4U;TY8Tt-HrP z08W)WC$?K?c6<){qo{YU5(oU51LtEfKq_k8=Sdh*=)({?o3l`nHQDHD_Ru(&MOR#* z(4C?Lq`FHFeqT@t*~M2f%^5I1`8*K1Xmg|9x;<8Yyn_-?kted39?w{Hd{;ddRDM;p z9e4o&0hJm(vWiGUYA;d>Xr?aI^l?;Fr|&k%6IPB2sh2vceLN?H3*R$fR}~gNVA>;r7TzwW&OivEa^HfB~`1k3l;=fjnO8pEt~_ z>YqERyk>wIG3M&-B|UTHm<=?gCx@>1ID=;XL{DNp7zF@aD$*;*d2#*kfkLUGRRjyA z(r8hbPp8I*GL7t8KHW;gqoexmRL#r@24pZK&dK_E?0^tAy`-mFGnkUpwEYGkc-M8> zeAmU&kc-m_3U16@Go=Q>*d(-Nod(!&<<6p=7ec4GixY0YRTm1CA3@okmYHeX!fn`Bs1)b@s}kqMGGt1hjCPiIe^Q$~&YrBN z*{i^$`8JLb((s_V^m0eMCg`cCD<=$Aw*ZRH7KZ8U&1dB4%qXK)|^JMnVk9NMoX697^#NEdBE$a-DlCJi3Z@jeYpY z&L>n%&7BroU5I$}{fM?)K9p6Jcj7xTgoZSL;ZWJv_Ps`exw^+MoU)^jI;@}7oSBmQ zh-Fb=swRpwV8ZKHF=4SrgM$=zNvcN;rWSQ*YM%ed4ZFdkwfn@O#brJP3{U`!i;5J= z;Q`sbLw+!mg$MbSfco<&UR{h4;K!At9m)_9Prx91mQcskO_-0UjsqYBxu3sgGXM@8 z4eE1-ATM0V4~)`6Fn6Qx73`k|jfM@1%f&dT6u6hY#E%s)%`}zxqYX?7BK~0IL5tm`?##@8`i7>0`s1ve4RgtX%;1&Y`$}g5n z>Te9VoIQ-$3_+(Q)NA z2Wi(@?g>_m4Z=@}kh_?~@^23$uUWH&+C$8V7^j;jLu3^n0Q7>C*9&8*sPBi24&U{V zV$#r240D|PmHFSkWb33yTRJ@#Q56_Wgsb!vETL;fCfsbaFM6qKFxDjeRbOw|@=e7| zcPmTVOW}e#_vv!s`E3uAhSNLG?FVxJ$Su%U2dNG_o|To+s29RoQS%#O&BWaB5VgR_ zH<<%tX!SHNo-}Q$uYDBARZ)Bd8jaKDp`LrDkM?OTs7g(n@xT`a;?1rv`Gz8>*iHX` keKPjY&1YYjyx+@QealZxNlUR--a71m0iJzaoB#j- literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sprites/Editor/UI/volume.png.meta b/Assets/Resources/Sprites/Editor/UI/volume.png.meta new file mode 100644 index 00000000..9e4f5c7b --- /dev/null +++ b/Assets/Resources/Sprites/Editor/UI/volume.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: b29210cf5b7b8234984ec842a3110005 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 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: 1 + 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 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index 530bb431..f5b3dd3c 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -967,7 +967,10 @@ RectTransform: 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_Children: [] + m_Children: + - {fileID: 270008765} + - {fileID: 456434810} + - {fileID: 689781277} m_Father: {fileID: 1050802356} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1954,6 +1957,127 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 258006091} m_CullTransparentMesh: 1 +--- !u!1 &270008764 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 270008765} + - component: {fileID: 270008768} + - component: {fileID: 270008767} + - component: {fileID: 270008766} + m_Layer: 5 + m_Name: Selection + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &270008765 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 270008764} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000798, y: 1.0000798, z: 1.0000798} + m_Children: + - {fileID: 953708373} + m_Father: {fileID: 156962254} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 5, y: 0.111961365} + m_SizeDelta: {x: 39.99997, y: 40} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &270008766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 270008764} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.7490196, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 270008767} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &270008767 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 270008764} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 10 +--- !u!222 &270008768 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 270008764} + m_CullTransparentMesh: 1 --- !u!1 &271251820 GameObject: m_ObjectHideFlags: 0 @@ -2088,6 +2212,82 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 271251820} m_CullTransparentMesh: 1 +--- !u!1 &285804966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 285804967} + - component: {fileID: 285804969} + - component: {fileID: 285804968} + m_Layer: 5 + m_Name: CurrentTempo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &285804967 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 285804966} + 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_Children: + - {fileID: 1783963080} + m_Father: {fileID: 446434229} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -99.299, y: -8.64} + m_SizeDelta: {x: 15.401, y: 15.401} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &285804968 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 285804966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a1e215e768b7d1b4e93a60f8ce9c10fc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &285804969 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 285804966} + m_CullTransparentMesh: 1 --- !u!1 &321288859 GameObject: m_ObjectHideFlags: 0 @@ -2701,6 +2901,7 @@ RectTransform: m_Children: - {fileID: 932211467} - {fileID: 1567318396} + - {fileID: 285804967} m_Father: {fileID: 1861169746} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -2762,6 +2963,261 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 446434228} m_CullTransparentMesh: 1 +--- !u!1 &456434809 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 456434810} + - component: {fileID: 456434813} + - component: {fileID: 456434812} + - component: {fileID: 456434811} + m_Layer: 5 + m_Name: Tempo Change + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &456434810 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456434809} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000798, y: 1.0000798, z: 1.0000798} + m_Children: + - {fileID: 793382141} + m_Father: {fileID: 156962254} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 50, y: 0.111961365} + m_SizeDelta: {x: 39.99997, y: 40} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &456434811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456434809} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.7490196, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 456434812} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &456434812 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456434809} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 10 +--- !u!222 &456434813 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456434809} + m_CullTransparentMesh: 1 +--- !u!1 &499528697 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 499528698} + - component: {fileID: 499528700} + - component: {fileID: 499528699} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &499528698 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 499528697} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01111111, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 666273484} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 1.137, y: 0} + m_SizeDelta: {x: 200, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &499528699 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 499528697} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 120 BPM + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 16.2 + m_fontSizeBase: 16.2 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &499528700 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 499528697} + m_CullTransparentMesh: 1 --- !u!1 &529053005 GameObject: m_ObjectHideFlags: 0 @@ -3832,6 +4288,44 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 660967736} m_CullTransparentMesh: 1 +--- !u!1 &666273483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 666273484} + m_Layer: 5 + m_Name: TempoChange + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &666273484 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 666273483} + 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_Children: + - {fileID: 2127964035} + - {fileID: 1287203020} + - {fileID: 499528698} + m_Father: {fileID: 689207020} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.0876, y: 0} + m_Pivot: {x: 0, y: 1} --- !u!1 &678553524 GameObject: m_ObjectHideFlags: 0 @@ -3976,6 +4470,7 @@ GameObject: - component: {fileID: 689207020} - component: {fileID: 689207023} - component: {fileID: 689207022} + - component: {fileID: 689207021} m_Layer: 5 m_Name: TempoBG m_TagString: Untagged @@ -3993,15 +4488,29 @@ RectTransform: 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_Children: [] + m_Children: + - {fileID: 666273484} m_Father: {fileID: 1852819573} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: -0, y: -52.244} m_SizeDelta: {x: 0, y: 33.998} m_Pivot: {x: 0, y: 1} +--- !u!114 &689207021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 689207019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 10dd19278a802c24fbeb39d1ccb23219, type: 3} + m_Name: + m_EditorClassIdentifier: + RefTempoChange: {fileID: 666273484} --- !u!114 &689207022 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4040,6 +4549,127 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 689207019} m_CullTransparentMesh: 1 +--- !u!1 &689781276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 689781277} + - component: {fileID: 689781280} + - component: {fileID: 689781279} + - component: {fileID: 689781278} + m_Layer: 5 + m_Name: Music Volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &689781277 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 689781276} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000798, y: 1.0000798, z: 1.0000798} + m_Children: + - {fileID: 767779043} + m_Father: {fileID: 156962254} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 95, y: 0.111961365} + m_SizeDelta: {x: 39.99997, y: 40} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &689781278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 689781276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.7490196, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 689781279} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &689781279 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 689781276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 10 +--- !u!222 &689781280 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 689781276} + m_CullTransparentMesh: 1 --- !u!1 &703340358 GameObject: m_ObjectHideFlags: 0 @@ -4389,6 +5019,97 @@ MonoBehaviour: m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} m_EffectDistance: {x: 2, y: -2} m_UseGraphicAlpha: 1 +--- !u!1 &767779042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 767779043} + - component: {fileID: 767779046} + - component: {fileID: 767779045} + - component: {fileID: 767779044} + m_Layer: 5 + m_Name: Graphic + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &767779043 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767779042} + 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_Children: [] + m_Father: {fileID: 689781277} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 33, y: 33} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &767779044 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767779042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b30dd83a12669d4f973ff5a79ca9842, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 2, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &767779045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767779042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b29210cf5b7b8234984ec842a3110005, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &767779046 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767779042} + m_CullTransparentMesh: 1 --- !u!1 &770589359 GameObject: m_ObjectHideFlags: 0 @@ -4475,7 +5196,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 5, y: -5} - m_SizeDelta: {x: 42, y: 42} + m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 0, y: 1} --- !u!114 &781200687 MonoBehaviour: @@ -4559,6 +5280,97 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 +--- !u!1 &793382140 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 793382141} + - component: {fileID: 793382144} + - component: {fileID: 793382143} + - component: {fileID: 793382142} + m_Layer: 5 + m_Name: Graphic + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &793382141 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793382140} + 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_Children: [] + m_Father: {fileID: 456434810} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 35, y: 33} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &793382142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793382140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b30dd83a12669d4f973ff5a79ca9842, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 2, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &793382143 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793382140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 44c391c5df20f2844b9437c0f3138355, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &793382144 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793382140} + m_CullTransparentMesh: 1 --- !u!1 &798021448 GameObject: m_ObjectHideFlags: 0 @@ -4642,6 +5454,7 @@ MonoBehaviour: resizing: 0 moving: 0 lastMovePos: {x: 0, y: 0} + isCreating: 0 eventObjID: NormalCol: {r: 0.8470589, g: 0.8470589, b: 1, a: 1} --- !u!222 &798021451 @@ -4996,8 +5809,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -344.1, y: 0} - m_SizeDelta: {x: 160, y: 35} + m_AnchoredPosition: {x: -301.0243, y: 0} + m_SizeDelta: {x: 246.141, y: 35} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &903653566 MonoBehaviour: @@ -5368,6 +6181,97 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 947065509} m_CullTransparentMesh: 1 +--- !u!1 &953708372 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 953708373} + - component: {fileID: 953708376} + - component: {fileID: 953708375} + - component: {fileID: 953708374} + m_Layer: 5 + m_Name: Graphic + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &953708373 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953708372} + 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_Children: [] + m_Father: {fileID: 270008765} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 33} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &953708374 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953708372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b30dd83a12669d4f973ff5a79ca9842, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 2, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &953708375 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953708372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6e7b88d9d62ed1b429c63b83745e3672, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &953708376 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 953708372} + m_CullTransparentMesh: 1 --- !u!1 &954835803 GameObject: m_ObjectHideFlags: 0 @@ -5462,6 +6366,142 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 954835803} m_CullTransparentMesh: 1 +--- !u!1 &991363086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 991363087} + - component: {fileID: 991363089} + - component: {fileID: 991363088} + m_Layer: 5 + m_Name: StartingBPM + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &991363087 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991363086} + 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_Children: [] + m_Father: {fileID: 1511927531} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 32.5, y: 0} + m_SizeDelta: {x: 71.2, y: 30.34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &991363088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991363086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'Starting + + BPM' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12.7 + m_fontSizeBase: 12.7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &991363089 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991363086} + m_CullTransparentMesh: 1 --- !u!1 &994602714 GameObject: m_ObjectHideFlags: 0 @@ -5642,7 +6682,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1852819573} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} @@ -6616,6 +7656,140 @@ MonoBehaviour: currentEventIndex: 0 posDif: 15 ignoreSelectCount: 2 +--- !u!1 &1162892833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1162892834} + - component: {fileID: 1162892836} + - component: {fileID: 1162892835} + m_Layer: 5 + m_Name: StartingBPM + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1162892834 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162892833} + 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_Children: [] + m_Father: {fileID: 1199306549} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1162892835 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162892833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 120.0 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 21.3 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 2.9 + m_fontSizeMax: 21.3 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1162892836 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162892833} + m_CullTransparentMesh: 1 --- !u!1 &1196204502 GameObject: m_ObjectHideFlags: 0 @@ -6750,6 +7924,127 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1196204502} m_CullTransparentMesh: 1 +--- !u!1 &1199306548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1199306549} + - component: {fileID: 1199306551} + - component: {fileID: 1199306550} + - component: {fileID: 1199306552} + m_Layer: 5 + m_Name: StartingBPM + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1199306549 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199306548} + 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_Children: + - {fileID: 1162892834} + m_Father: {fileID: 1511927531} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 66.5, y: 30.34} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &1199306550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199306548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.30588236} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1199306551 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199306548} + m_CullTransparentMesh: 1 +--- !u!114 &1199306552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199306548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0, g: 0.95205355, b: 1, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1162892835} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &1209651182 GameObject: m_ObjectHideFlags: 0 @@ -7395,6 +8690,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1277418759} m_CullTransparentMesh: 1 +--- !u!1 &1287203019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1287203020} + - component: {fileID: 1287203022} + - component: {fileID: 1287203021} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1287203020 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287203019} + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 666273484} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.02000001, y: 33.998} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1287203021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287203019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1287203022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287203019} + m_CullTransparentMesh: 1 --- !u!1 &1310571273 GameObject: m_ObjectHideFlags: 0 @@ -7970,8 +9340,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f86858990a87c764892672104bdaef1f, type: 3} m_Name: m_EditorClassIdentifier: - level: {fileID: 4900000, guid: ad2467f171a3aee4b9be8c26e2e1a42c, type: 3} - music: {fileID: 8300000, guid: 7d1a104c87e593f40a262ebbcb2a371b, type: 3} + level: {fileID: 4900000, guid: fafaeee85f4121643a0699a4de97da53, type: 3} + music: {fileID: 8300000, guid: a0589cdba27fb254e90da17b4804c2fe, type: 3} debugUI: 0 playOnStart: 0 editor: 1 @@ -8229,6 +9599,8 @@ RectTransform: - {fileID: 1766883149} - {fileID: 1609794607} - {fileID: 1380319273} + - {fileID: 991363087} + - {fileID: 1199306549} m_Father: {fileID: 1861169746} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -8534,8 +9906,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -13.501999} - m_SizeDelta: {x: -10, y: -37.005} + m_AnchoredPosition: {x: 52.19, y: -13.501999} + m_SizeDelta: {x: -114.39, y: -37.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1567318397 MonoBehaviour: @@ -9479,7 +10851,7 @@ RectTransform: m_Children: - {fileID: 2037220114} m_Father: {fileID: 1852819573} - m_RootOrder: 4 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} @@ -9755,6 +11127,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1783491357} m_CullTransparentMesh: 1 +--- !u!1 &1783963079 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1783963080} + - component: {fileID: 1783963082} + - component: {fileID: 1783963081} + m_Layer: 5 + m_Name: CurrentTempo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1783963080 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783963079} + 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_Children: [] + m_Father: {fileID: 285804967} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 40.78, y: -0.6899786} + m_SizeDelta: {x: 97.54, y: 17.72} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1783963081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783963079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: ' = 120' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18.4 + m_fontSizeBase: 18.4 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: -17.41 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1783963082 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783963079} + m_CullTransparentMesh: 1 --- !u!1 &1791483799 GameObject: m_ObjectHideFlags: 0 @@ -10077,9 +11583,9 @@ RectTransform: m_Children: - {fileID: 238901181} - {fileID: 1527251880} + - {fileID: 1747224096} - {fileID: 689207020} - {fileID: 1037563074} - - {fileID: 1747224096} - {fileID: 770589360} - {fileID: 580861938} - {fileID: 1838356727} @@ -10149,6 +11655,8 @@ MonoBehaviour: m_EditorClassIdentifier: SongBeat: {fileID: 932211468} SongPos: {fileID: 1567318397} + CurrentTempo: {fileID: 1783963081} + StartingBPM: {fileID: 1199306549} eventObjs: [] LayerCount: 4 metronomeEnabled: 0 @@ -10164,6 +11672,9 @@ MonoBehaviour: StopBTN: {fileID: 1783491359} MetronomeBTN: {fileID: 129013734} AutoplayBTN: {fileID: 121871281} + SelectionsBTN: {fileID: 270008766} + TempoChangeBTN: {fileID: 456434811} + MusicVolumeBTN: {fileID: 689781278} --- !u!1 &1906769992 GameObject: m_ObjectHideFlags: 0 @@ -11249,6 +12760,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2127582756} m_CullTransparentMesh: 1 +--- !u!1 &2127964034 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2127964035} + - component: {fileID: 2127964037} + - component: {fileID: 2127964036} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2127964035 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2127964034} + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 666273484} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.109999985, y: 11.84} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &2127964036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2127964034} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: e3b85a6fda50d2343a8dfb2fc70c2b32, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2127964037 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2127964034} + m_CullTransparentMesh: 1 --- !u!1 &2131880460 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Beatmap.cs b/Assets/Scripts/Beatmap.cs index 35478a4a..3ad72256 100644 --- a/Assets/Scripts/Beatmap.cs +++ b/Assets/Scripts/Beatmap.cs @@ -9,6 +9,7 @@ namespace RhythmHeavenMania { public float bpm; public List entities = new List(); + public List tempoChanges = new List(); [Serializable] public class Entity : ICloneable @@ -19,7 +20,20 @@ namespace RhythmHeavenMania [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float valA; [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public int type; public string datamodel; - [JsonIgnore] public Editor.TimelineEventObj eventObj; + [JsonIgnore] public Editor.Track.TimelineEventObj eventObj; + + public object Clone() + { + return this.MemberwiseClone(); + } + } + + [Serializable] + public class TempoChange : ICloneable + { + public float beat; + public float length; + public float tempo; public object Clone() { diff --git a/Assets/Scripts/Conductor.cs b/Assets/Scripts/Conductor.cs index b9011603..87c9ecf1 100644 --- a/Assets/Scripts/Conductor.cs +++ b/Assets/Scripts/Conductor.cs @@ -47,6 +47,8 @@ namespace RhythmHeavenMania // Metronome tick sound enabled public bool metronome = false; + public float timeSinceLastTempoChange = 0; + private bool beat; // private AudioDspTimeKeeper timeKeeper; @@ -56,11 +58,6 @@ namespace RhythmHeavenMania instance = this; } - void Start() - { - secPerBeat = 60f / songBpm; - } - public void SetBeat(float beat) { float secFromBeat = GetSongPosFromBeat(beat); @@ -79,6 +76,7 @@ namespace RhythmHeavenMania public void Play(float beat) { this.time = GetSongPosFromBeat(beat); + songPositionInBeats = GetSongPosFromBeat(beat) / secPerBeat; isPlaying = true; isPaused = false; @@ -103,22 +101,27 @@ namespace RhythmHeavenMania public void Stop(float time) { this.time = time; + songPositionInBeats = time / secPerBeat; isPlaying = false; isPaused = false; musicSource.Stop(); } + float test; public void Update() { + secPerBeat = 60f / songBpm; + if (isPlaying) { time += Time.deltaTime * musicSource.pitch; songPosition = time - firstBeatOffset; - songPositionInBeats = songPosition / secPerBeat; + songPositionInBeats += (Time.deltaTime - firstBeatOffset) / secPerBeat; + // songPositionInBeats = Time.deltaTime / secPerBeat; if (metronome) { diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 88d53897..055032ba 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -32,7 +32,7 @@ namespace RhythmHeavenMania [Header("Properties")] - public int currentEvent, currentPlayerEvent; + public int currentEvent, currentTempoEvent; public float startOffset; public bool playOnStart; public float startBeat; @@ -93,6 +93,7 @@ namespace RhythmHeavenMania return; List entities = Beatmap.entities.Select(c => c.beat).ToList(); + List tempoChanges = Beatmap.tempoChanges.Select(c => c.beat).ToList(); if (currentEvent < Beatmap.entities.Count && currentEvent >= 0) { @@ -122,6 +123,16 @@ namespace RhythmHeavenMania currentEvent += entitesAtSameBeat.Count + gameManagerEntities.Count; } } + + if (currentTempoEvent < Beatmap.tempoChanges.Count && currentTempoEvent >= 0) + { + if (Conductor.instance.songPositionInBeats >= tempoChanges[currentTempoEvent]) + { + Conductor.instance.songBpm = Beatmap.tempoChanges[currentTempoEvent].tempo; + Conductor.instance.timeSinceLastTempoChange = Time.time; + currentTempoEvent++; + } + } } #region Play Events @@ -135,6 +146,9 @@ namespace RhythmHeavenMania { yield return null; bool paused = Conductor.instance.isPaused; + + Conductor.instance.SetBpm(Beatmap.bpm); + Conductor.instance.Play(beat); if (!paused) { @@ -162,6 +176,7 @@ namespace RhythmHeavenMania public void SortEventsList() { Beatmap.entities.Sort((x, y) => x.beat.CompareTo(y.beat)); + Beatmap.tempoChanges.Sort((x, y) => x.beat.CompareTo(y.beat)); } public void SetCurrentEventToClosest(float beat) @@ -170,11 +185,6 @@ namespace RhythmHeavenMania if (Beatmap.entities.Count > 0) { List entities = Beatmap.entities.Select(c => c.beat).ToList(); - if (playerEntities != null) - { - List entities_p = playerEntities.Select(c => c.beat).ToList(); - currentPlayerEvent = entities_p.IndexOf(Mathp.GetClosestInList(entities_p, beat)); - } currentEvent = entities.IndexOf(Mathp.GetClosestInList(entities, beat)); @@ -206,6 +216,13 @@ namespace RhythmHeavenMania SetGame(newGame); } + + if (Beatmap.tempoChanges.Count > 0) + { + List tempoChanges = Beatmap.tempoChanges.Select(c => c.beat).ToList(); + + currentTempoEvent = tempoChanges.IndexOf(Mathp.GetClosestInList(tempoChanges, beat)); + } } #endregion diff --git a/Assets/Scripts/Games/PlayerActionObject.cs b/Assets/Scripts/Games/PlayerActionObject.cs index 4cb5b693..52941e80 100644 --- a/Assets/Scripts/Games/PlayerActionObject.cs +++ b/Assets/Scripts/Games/PlayerActionObject.cs @@ -2,6 +2,8 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using RhythmHeavenMania.Editor.Track; + namespace RhythmHeavenMania.Games { public class PlayerActionObject : MonoBehaviour @@ -150,9 +152,9 @@ namespace RhythmHeavenMania.Games private void AceVisuals() { - if (Editor.Timeline.instance != null) + if (Timeline.instance != null) { - Editor.Timeline.instance.AutoplayBTN.GetComponent().Play("Ace", 0, 0); + Timeline.instance.AutoplayBTN.GetComponent().Play("Ace", 0, 0); } } diff --git a/Assets/Scripts/LevelEditor/BoxSelection.cs b/Assets/Scripts/LevelEditor/BoxSelection.cs index 29093915..4a57378d 100644 --- a/Assets/Scripts/LevelEditor/BoxSelection.cs +++ b/Assets/Scripts/LevelEditor/BoxSelection.cs @@ -5,6 +5,8 @@ using UnityEngine.UI; using Starpelly; +using RhythmHeavenMania.Editor.Track; + namespace RhythmHeavenMania.Editor { public class BoxSelection : MonoBehaviour diff --git a/Assets/Scripts/LevelEditor/Commands/Block.cs b/Assets/Scripts/LevelEditor/Commands/Block.cs index 32c1497c..b050fa4a 100644 --- a/Assets/Scripts/LevelEditor/Commands/Block.cs +++ b/Assets/Scripts/LevelEditor/Commands/Block.cs @@ -3,11 +3,14 @@ using System.Collections.Generic; using System.Linq; using UnityEngine; +using RhythmHeavenMania.Editor.Track; + namespace RhythmHeavenMania.Editor.Commands { public class Selection : IAction { List eventObjs; + List lastEventObjs; public Selection(List eventObjs) { @@ -20,14 +23,15 @@ namespace RhythmHeavenMania.Editor.Commands public void Redo() { - for (int i = 0; i < eventObjs.Count; i++) + for (int i = 0; i < lastEventObjs.Count; i++) { - Selections.instance.ShiftClickSelect(eventObjs[i]); + Selections.instance.ShiftClickSelect(lastEventObjs[i]); } } public void Undo() { + lastEventObjs = eventObjs; for (int i = 0; i < eventObjs.Count; i++) { Selections.instance.ShiftClickSelect(eventObjs[i]); @@ -102,6 +106,7 @@ namespace RhythmHeavenMania.Editor.Commands public class Place : IAction { TimelineEventObj eventObj; + TimelineEventObj deletedObj; public Place(TimelineEventObj eventObj) { @@ -114,11 +119,12 @@ namespace RhythmHeavenMania.Editor.Commands public void Redo() { - throw new System.NotImplementedException(); + deletedObj = Timeline.instance.AddEventObject(deletedObj.entity.datamodel, false, new Vector3(deletedObj.entity.beat, -deletedObj.entity.track * Timeline.instance.LayerHeight()), deletedObj.entity, true, deletedObj.entity.eventObj.eventObjID); } public void Undo() { + deletedObj = eventObj; Selections.instance.Deselect(eventObj); Timeline.instance.DestroyEventObject(eventObj.entity); // Beatmap.Entity e = deletedObjs[i].entity; diff --git a/Assets/Scripts/LevelEditor/Editor.cs b/Assets/Scripts/LevelEditor/Editor.cs index 8aa9165c..2d3582b0 100644 --- a/Assets/Scripts/LevelEditor/Editor.cs +++ b/Assets/Scripts/LevelEditor/Editor.cs @@ -8,6 +8,8 @@ using Newtonsoft.Json; using TMPro; using Starpelly; +using RhythmHeavenMania.Editor.Track; + namespace RhythmHeavenMania.Editor { public class Editor : MonoBehaviour @@ -125,7 +127,10 @@ namespace RhythmHeavenMania.Editor for (int i = 0; i < selectedEvents.Count; i++) { - result.Add(selectedEvents[i]); + if (selectedEvents[i].isCreating == false) + { + result.Add(selectedEvents[i]); + } selectedEvents[i].OnUp(); } CommandManager.instance.Execute(new Commands.Move(result)); diff --git a/Assets/Scripts/LevelEditor/EditorTheme.cs b/Assets/Scripts/LevelEditor/EditorTheme.cs index b3c7b599..47a9f120 100644 --- a/Assets/Scripts/LevelEditor/EditorTheme.cs +++ b/Assets/Scripts/LevelEditor/EditorTheme.cs @@ -8,6 +8,8 @@ using TMPro; using Starpelly; +using RhythmHeavenMania.Editor.Track; + namespace RhythmHeavenMania.Editor { public class EditorTheme : MonoBehaviour diff --git a/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs b/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs index 36a1d6ba..3f000564 100644 --- a/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs +++ b/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs @@ -7,6 +7,8 @@ using TMPro; using DG.Tweening; using Starpelly; +using RhythmHeavenMania.Editor.Track; + namespace RhythmHeavenMania.Editor { public class GridGameSelector : MonoBehaviour @@ -170,7 +172,10 @@ namespace RhythmHeavenMania.Editor { eventObj = Timeline.instance.AddEventObject(mg.name + "/" + mg.actions[currentEventIndex - 1].actionName, true, new Vector3(0, 0), null, true, Timeline.RandomID()); } - CommandManager.instance.Execute(new Commands.Place(eventObj)); + + eventObj.isCreating = true; + + // CommandManager.instance.Execute(new Commands.Place(eventObj)); } } diff --git a/Assets/Scripts/LevelEditor/Selections.cs b/Assets/Scripts/LevelEditor/Selections.cs index 42d7e58d..22f4f0d0 100644 --- a/Assets/Scripts/LevelEditor/Selections.cs +++ b/Assets/Scripts/LevelEditor/Selections.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Linq; using UnityEngine; +using RhythmHeavenMania.Editor.Track; + namespace RhythmHeavenMania.Editor { public class Selections : MonoBehaviour diff --git a/Assets/Scripts/LevelEditor/Timeline.meta b/Assets/Scripts/LevelEditor/Timeline.meta new file mode 100644 index 00000000..ac35312e --- /dev/null +++ b/Assets/Scripts/LevelEditor/Timeline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2421c88054c4eb742b45be7075dd450c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs b/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs new file mode 100644 index 00000000..d9dc6ae1 --- /dev/null +++ b/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs @@ -0,0 +1,56 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +using TMPro; +using Starpelly; + +namespace RhythmHeavenMania.Editor.Track +{ + public class TempoTimeline : MonoBehaviour + { + [Header("Components")] + private RectTransform rectTransform; + [SerializeField] private RectTransform RefTempoChange; + + private void Start() + { + rectTransform = this.GetComponent(); + } + + private void Update() + { + if (RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Camera.main)) + { + if (Input.GetMouseButtonDown(0)) + { + AddTempoChange(); + } + } + } + + private void AddTempoChange() + { + GameObject tempoChange = Instantiate(RefTempoChange.gameObject, this.transform); + + tempoChange.transform.GetChild(0).GetComponent().color = EditorTheme.theme.properties.TempoLayerCol.Hex2RGB(); + tempoChange.transform.GetChild(1).GetComponent().color = EditorTheme.theme.properties.TempoLayerCol.Hex2RGB(); + tempoChange.transform.GetChild(2).GetComponent().color = EditorTheme.theme.properties.TempoLayerCol.Hex2RGB(); + + tempoChange.SetActive(true); + tempoChange.transform.position = new Vector3(Camera.main.ScreenToWorldPoint(Input.mousePosition).x, tempoChange.transform.position.y); + tempoChange.transform.localPosition = new Vector3(Starpelly.Mathp.Round2Nearest(tempoChange.transform.localPosition.x, 0.25f), tempoChange.transform.localPosition.y); + + TempoTimelineObj tempoTimelineObj = tempoChange.AddComponent(); + + Beatmap.TempoChange tempoC = new Beatmap.TempoChange(); + tempoC.beat = tempoChange.transform.localPosition.x; + tempoC.tempo = GameManager.instance.Beatmap.bpm; + + tempoTimelineObj.tempoChange = tempoC; + GameManager.instance.Beatmap.tempoChanges.Add(tempoC); + } + } + +} \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs.meta b/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs.meta new file mode 100644 index 00000000..c0b3f9ee --- /dev/null +++ b/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 10dd19278a802c24fbeb39d1ccb23219 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs b/Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs new file mode 100644 index 00000000..64fae52f --- /dev/null +++ b/Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs @@ -0,0 +1,45 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +using TMPro; + +namespace RhythmHeavenMania.Editor.Track +{ + public class TempoTimelineObj : MonoBehaviour + { + [Header("Components")] + [SerializeField] private RectTransform rectTransform; + [SerializeField] private TMP_Text tempoTXT; + + public Beatmap.TempoChange tempoChange; + + private void Start() + { + rectTransform = GetComponent(); + tempoTXT = transform.GetChild(2).GetComponent(); + UpdateTempo(); + } + + private void Update() + { + if (RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Camera.main)) + { + float newTempo = Input.mouseScrollDelta.y; + + if (Input.GetKey(KeyCode.LeftShift)) + newTempo *= 5f; + if (Input.GetKey(KeyCode.LeftControl)) + newTempo /= 100f; + + tempoChange.tempo += newTempo; + } + UpdateTempo(); + } + + private void UpdateTempo() + { + tempoTXT.text = $"{tempoChange.tempo} BPM"; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs.meta b/Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs.meta new file mode 100644 index 00000000..3f693a0a --- /dev/null +++ b/Assets/Scripts/LevelEditor/Timeline/TempoTimelineObj.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dfe88f36dac55f44dac7fe958fe3c228 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LevelEditor/Timeline.cs b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs similarity index 91% rename from Assets/Scripts/LevelEditor/Timeline.cs rename to Assets/Scripts/LevelEditor/Timeline/Timeline.cs index 1e5fa872..4853b3cb 100644 --- a/Assets/Scripts/LevelEditor/Timeline.cs +++ b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs @@ -6,13 +6,15 @@ using UnityEngine.UI; using TMPro; using Starpelly; -namespace RhythmHeavenMania.Editor +namespace RhythmHeavenMania.Editor.Track { public class Timeline : MonoBehaviour { [Header("Song Positions")] [SerializeField] private TMP_Text SongBeat; [SerializeField] private TMP_Text SongPos; + [SerializeField] private TMP_Text CurrentTempo; + [SerializeField] private RectTransform StartingBPM; [Header("Timeline Properties")] private float lastBeatPos = 0; @@ -38,11 +40,19 @@ namespace RhythmHeavenMania.Editor public Button StopBTN; public Button MetronomeBTN; public Button AutoplayBTN; + public Button SelectionsBTN; + public Button TempoChangeBTN; + public Button MusicVolumeBTN; public static Timeline instance { get; private set; } #region Initializers + public void UpdateLevelInfo() + { + StartingBPM.GetChild(0).GetComponent().text = GameManager.instance.Beatmap.bpm.ToString(); + } + public void Init() { instance = this; @@ -106,6 +116,10 @@ namespace RhythmHeavenMania.Editor } }); + Tooltip.AddTooltip(SongBeat.gameObject, "Current Beat"); + Tooltip.AddTooltip(SongPos.gameObject, "Current Time"); + Tooltip.AddTooltip(CurrentTempo.gameObject, "Current Tempo (BPM)"); + Tooltip.AddTooltip(PlayBTN.gameObject, "Play [Space]"); Tooltip.AddTooltip(PauseBTN.gameObject, "Pause [Shift + Space]"); Tooltip.AddTooltip(StopBTN.gameObject, "Stop [Space]"); @@ -113,8 +127,14 @@ namespace RhythmHeavenMania.Editor Tooltip.AddTooltip(MetronomeBTN.gameObject, "Metronome"); Tooltip.AddTooltip(AutoplayBTN.gameObject, "Autoplay"); + Tooltip.AddTooltip(SelectionsBTN.gameObject, "Tool: Selection [1]"); + Tooltip.AddTooltip(TempoChangeBTN.gameObject, "Tool: Tempo Change [2]"); + Tooltip.AddTooltip(MusicVolumeBTN.gameObject, "Tool: Music Volume [3]"); + SetTimeButtonColors(true, false, false); MetronomeBTN.transform.GetChild(0).GetComponent().color = Color.gray; + + UpdateLevelInfo(); } public static string RandomID() @@ -179,6 +199,20 @@ namespace RhythmHeavenMania.Editor TimelineContent.transform.localPosition = new Vector3((-Conductor.instance.songPositionInBeats * 100) + 200, TimelineContent.transform.localPosition.y); TimelineContent.transform.localPosition = new Vector3(Mathf.Clamp(TimelineContent.transform.localPosition.x, Mathf.NegativeInfinity, 0), TimelineContent.transform.localPosition.y); + + CurrentTempo.text = $" = {Conductor.instance.songBpm}"; + + if (RectTransformUtility.RectangleContainsScreenPoint(StartingBPM, Input.mousePosition, Camera.main)) + { + float increase = Input.mouseScrollDelta.y; + if (Input.GetKey(KeyCode.LeftControl)) + increase /= 100f; + if (Input.GetKey(KeyCode.LeftShift)) + increase *= 5f; + + GameManager.instance.Beatmap.bpm += increase; + UpdateLevelInfo(); + } } private void SliderControl() diff --git a/Assets/Scripts/LevelEditor/Timeline.cs.meta b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs.meta similarity index 100% rename from Assets/Scripts/LevelEditor/Timeline.cs.meta rename to Assets/Scripts/LevelEditor/Timeline/Timeline.cs.meta diff --git a/Assets/Scripts/LevelEditor/TimelineEventObj.cs b/Assets/Scripts/LevelEditor/Timeline/TimelineEventObj.cs similarity index 97% rename from Assets/Scripts/LevelEditor/TimelineEventObj.cs rename to Assets/Scripts/LevelEditor/Timeline/TimelineEventObj.cs index 65ddecd2..9bf78716 100644 --- a/Assets/Scripts/LevelEditor/TimelineEventObj.cs +++ b/Assets/Scripts/LevelEditor/Timeline/TimelineEventObj.cs @@ -6,7 +6,7 @@ using UnityEngine.UI; using Starpelly; using DG.Tweening; -namespace RhythmHeavenMania.Editor +namespace RhythmHeavenMania.Editor.Track { public class TimelineEventObj : MonoBehaviour { @@ -41,6 +41,7 @@ namespace RhythmHeavenMania.Editor private bool resizingRight; private bool inResizeRegion; public Vector2 lastMovePos; + public bool isCreating; public string eventObjID; [Header("Colors")] @@ -238,13 +239,17 @@ namespace RhythmHeavenMania.Editor { if (eligibleToMove) { - OnComplete(true); } moving = false; Cancel(); + if (isCreating == true) + { + isCreating = false; + CommandManager.instance.Execute(new Commands.Place(this)); + } } } diff --git a/Assets/Scripts/LevelEditor/TimelineEventObj.cs.meta b/Assets/Scripts/LevelEditor/Timeline/TimelineEventObj.cs.meta similarity index 100% rename from Assets/Scripts/LevelEditor/TimelineEventObj.cs.meta rename to Assets/Scripts/LevelEditor/Timeline/TimelineEventObj.cs.meta diff --git a/Assets/Scripts/LevelEditor/editortheme.json b/Assets/Scripts/LevelEditor/editortheme.json index 51731fea..3d9893f4 100644 --- a/Assets/Scripts/LevelEditor/editortheme.json +++ b/Assets/Scripts/LevelEditor/editortheme.json @@ -16,8 +16,8 @@ "EventSelectedCol": "61e5ff", "EventNormalCol": "FFFFFF", - "BeatMarkerCol": "61e5ff", - "CurrentTimeMarkerCol": "61e5ff", + "BeatMarkerCol": "32FF32", + "CurrentTimeMarkerCol": "32FF32", "BoxSelectionCol": "61e5ff", "BoxSelectionOutlineCol": "61e5ff" diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index fd697354..4ba5df08 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -104,7 +104,16 @@ namespace RhythmHeavenMania new GameAction("ball dispense", delegate { SpaceSoccer.instance.Dispense(eventCaller.currentBeat); }, 2f), new GameAction("keep-up", delegate { }, 4f, true), new GameAction("high kick-toe!", delegate { }, 3f), - }) + }), + /*new Minigame("djSchool", "DJ School", "B888F8", new List() + { + }), + new Minigame("spaceDance", "Space Dance", "B888F8", new List() + { + }), + new Minigame("tapTrial", "Tap Trial", "B888F8", new List() + { + })*/ }; } }