diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index 1485a0003..1761e0d22 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -3090,7 +3090,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &93132552 GameObject: @@ -8411,8 +8411,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: -99.29901, y: -8.6399975} - m_SizeDelta: {x: 15.401, y: 15.401} + m_AnchoredPosition: {x: -104, y: 10} + m_SizeDelta: {x: 12, y: 12} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &285804968 MonoBehaviour: @@ -12037,6 +12037,7 @@ RectTransform: - {fileID: 932211467} - {fileID: 1567318396} - {fileID: 285804967} + - {fileID: 1993062350} m_Father: {fileID: 1861169746} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -22936,7 +22937,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: eb5481d804b2aec42a04ea8f659fdc5a, type: 3} m_Name: m_EditorClassIdentifier: - lastPos_: {x: 0, y: 0} + moveStartPos: {x: 0, y: 0} PosPreview: {fileID: 0} PosPreviewRef: {fileID: 2142375787} Icon: {fileID: 820032006} @@ -25344,7 +25345,7 @@ MonoBehaviour: m_HandleRect: {fileID: 1589389271} m_Direction: 2 m_Value: 1 - m_Size: 1 + m_Size: 0.99759334 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -28405,6 +28406,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1007704294} m_CullTransparentMesh: 1 +--- !u!1 &1007733144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1007733145} + - component: {fileID: 1007733147} + - component: {fileID: 1007733146} + m_Layer: 5 + m_Name: SectionName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1007733145 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1007733144} + 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: 1993062350} + 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.000038146973, y: 0} + m_SizeDelta: {x: 0.000015259, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1007733146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1007733144} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Section + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4810e200fa0cb24438bac52343d7674b, type: 2} + m_sharedMaterial: {fileID: 8580487687356851718, guid: 4810e200fa0cb24438bac52343d7674b, 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: 15.6 + m_fontSizeBase: 15.6 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 10 + m_fontSizeMax: 15.6 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 1 + 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 &1007733147 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1007733144} + m_CullTransparentMesh: 1 --- !u!1 &1022970659 GameObject: m_ObjectHideFlags: 0 @@ -30470,6 +30605,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1090919177} m_CullTransparentMesh: 1 +--- !u!1 &1093393114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1093393115} + - component: {fileID: 1093393117} + - component: {fileID: 1093393116} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1093393115 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093393114} + 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: 1885079689} + 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, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1093393116 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093393114} + 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: 0.1882353} + 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: 7482667652216324306, guid: ef2fa2a75dc283e40b9d4fe1f20dc6fb, 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 &1093393117 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093393114} + m_CullTransparentMesh: 1 --- !u!1 &1107362314 GameObject: m_ObjectHideFlags: 0 @@ -30682,7 +30892,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -408.97998, y: -17} + m_AnchoredPosition: {x: -408.98004, y: -17} m_SizeDelta: {x: -817.96, y: -46.29} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1118147045 @@ -32159,7 +32369,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 129.87453} + m_AnchoredPosition: {x: 0, y: 129.91068} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1154875944 @@ -33273,7 +33483,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1192611371 GameObject: @@ -46906,60 +47116,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 0 m_VerticalFit: 2 ---- !u!1 &1733325622 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1733325624} - - component: {fileID: 1733325623} - m_Layer: 0 - m_Name: LetterboxEditor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!114 &1733325623 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1733325622} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e188ee899633d0b49870a5ae38b7359d, type: 3} - m_Name: - m_EditorClassIdentifier: - ratio: {x: 16, y: 9} - forceRatioOnAwake: 1 - listenForWindowChanges: 1 - createCameraForLetterBoxRendering: 0 - findCamerasAutomatically: 0 - letterBoxCameraColor: {r: 0, g: 0, b: 0, a: 1} - cameras: - - camera: {fileID: 2047408675} - anchor: 0 - vectorAnchor: {x: 0.5, y: 0.5} - letterBoxCamera: {fileID: 1186982022} ---- !u!4 &1733325624 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1733325622} - 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: 0} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1747099761 GameObject: m_ObjectHideFlags: 0 @@ -48221,8 +48377,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: 40.78, y: -0.6899786} - m_SizeDelta: {x: 97.54, y: 17.72} + m_AnchoredPosition: {x: 28, y: -0.6899786} + m_SizeDelta: {x: 56, y: 17.72} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1783963081 MonoBehaviour: @@ -48244,7 +48400,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: ' = 120' + m_text: ' = 120' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} @@ -48271,8 +48427,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 18.4 - m_fontSizeBase: 18.4 + m_fontSize: 12 + m_fontSizeBase: 12 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -48287,9 +48443,9 @@ MonoBehaviour: m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_enableWordWrapping: 0 m_wordWrappingRatios: 0.4 - m_overflowMode: 0 + m_overflowMode: 3 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 @@ -49283,6 +49439,9 @@ MonoBehaviour: TimelineSongPosLineRef: {fileID: 580861938} TimelineEventObjRef: {fileID: 798021449} LayersRect: {fileID: 1671351975} + TimelineSectionDisplay: {fileID: 1993062349} + TimelineSectionText: {fileID: 1007733146} + TimelineSectionProgress: {fileID: 2130542024} FirstBeatOffset: {fileID: 215482487} StartingTempoSpecialAll: {fileID: 1332021417} StartingTempoSpecialTempo: {fileID: 1299088428} @@ -49704,6 +49863,42 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 63.92, y: 0} m_Pivot: {x: 0, y: 0.5} +--- !u!1 &1885079688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1885079689} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1885079689 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885079688} + 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: 1093393115} + m_Father: {fileID: 2130542023} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: -0.00002527237} + m_SizeDelta: {x: 0, y: 9.7044} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1886627915 GameObject: m_ObjectHideFlags: 0 @@ -52980,6 +53175,43 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 +--- !u!1 &1993062349 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1993062350} + m_Layer: 5 + m_Name: CurrentSection + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1993062350 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993062349} + 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: 1007733145} + - {fileID: 2130542023} + m_Father: {fileID: 446434229} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -37.75, y: -13.500006} + m_SizeDelta: {x: -84.5, y: -37} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1997273392 GameObject: m_ObjectHideFlags: 0 @@ -55763,6 +55995,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2101185331} m_CullTransparentMesh: 1 +--- !u!1 &2105103440 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2105103441} + - component: {fileID: 2105103443} + - component: {fileID: 2105103442} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2105103441 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2105103440} + 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: 2130542023} + 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.000015258789, y: 0} + m_SizeDelta: {x: 0, y: 0.0000019073} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2105103442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2105103440} + 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: 0.1254902} + 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: 7482667652216324306, guid: ef2fa2a75dc283e40b9d4fe1f20dc6fb, 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 &2105103443 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2105103440} + m_CullTransparentMesh: 1 --- !u!1 &2120543174 GameObject: m_ObjectHideFlags: 0 @@ -56192,6 +56499,95 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2127964034} m_CullTransparentMesh: 1 +--- !u!1 &2130542022 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2130542023} + - component: {fileID: 2130542024} + m_Layer: 5 + m_Name: Progress Bar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2130542023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130542022} + 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: 2105103441} + - {fileID: 1885079689} + m_Father: {fileID: 1993062350} + m_RootOrder: 1 + 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.0000009536743, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2130542024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130542022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, 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.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: 1093393116} + m_FillRect: {fileID: 1093393115} + m_HandleRect: {fileID: 0} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] --- !u!1 &2131880460 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 3f8b3aff2..74a2ea8e1 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -31,20 +31,28 @@ namespace HeavenStudio Coroutine currentGameSwitchIE; [Header("Properties")] - public int currentEvent, currentTempoEvent, currentVolumeEvent, currentSectionEvent, + public int currentEvent, currentTempoEvent, currentVolumeEvent, currentSectionEvent, currentPreEvent, currentPreSwitch; + public float endBeat; public float startOffset; public bool playOnStart; public float startBeat; [NonSerialized] public GameObject currentGameO; public bool autoplay; public bool canInput = true; + public DynamicBeatmap.ChartSection currentSection, nextSection; + public float sectionProgress { get { + if (currentSection == null) return 0; + if (nextSection == null) return (Conductor.instance.songPositionInBeats - currentSection.beat) / (endBeat - currentSection.beat); + return (Conductor.instance.songPositionInBeats - currentSection.beat) / (nextSection.beat - currentSection.beat); + }} - public event Action onBeatChanged; + public event Action onBeatChanged; + public event Action onSectionChange; public int BeatmapEntities() { - return Beatmap.entities.Count + Beatmap.tempoChanges.Count; + return Beatmap.entities.Count + Beatmap.tempoChanges.Count + Beatmap.volumeChanges.Count + Beatmap.beatmapSections.Count; } public static GameManager instance { get; private set; } @@ -219,16 +227,15 @@ namespace HeavenStudio return; if (!Conductor.instance.isPlaying) return; + List entities = Beatmap.entities.Select(c => c.beat).ToList(); List tempoChanges = Beatmap.tempoChanges.Select(c => c.beat).ToList(); if (currentTempoEvent < Beatmap.tempoChanges.Count && currentTempoEvent >= 0) { - // Debug.Log("Checking Tempo Change at " + tempoChanges[currentTempoEvent] + ", current beat " + Conductor.instance.songPositionInBeats); if (Conductor.instance.songPositionInBeats >= tempoChanges[currentTempoEvent]) { - // Debug.Log("Tempo Change at " + Conductor.instance.songPositionInBeats + " of bpm " + DynamicBeatmap.tempoChanges[currentTempoEvent].tempo); Conductor.instance.SetBpm(Beatmap.tempoChanges[currentTempoEvent].tempo); Conductor.instance.timeSinceLastTempoChange = Time.time; currentTempoEvent++; @@ -238,16 +245,29 @@ namespace HeavenStudio List volumeChanges = Beatmap.volumeChanges.Select(c => c.beat).ToList(); if (currentVolumeEvent < Beatmap.volumeChanges.Count && currentVolumeEvent >= 0) { - // Debug.Log("Checking Tempo Change at " + tempoChanges[currentTempoEvent] + ", current beat " + Conductor.instance.songPositionInBeats); if (Conductor.instance.songPositionInBeats >= volumeChanges[currentVolumeEvent]) { - // Debug.Log("Tempo Change at " + Conductor.instance.songPositionInBeats + " of bpm " + DynamicBeatmap.tempoChanges[currentTempoEvent].tempo); Conductor.instance.SetVolume(Beatmap.volumeChanges[currentVolumeEvent].volume); - Conductor.instance.timeSinceLastTempoChange = Time.time; currentVolumeEvent++; } } + List chartSections = Beatmap.beatmapSections.Select(c => c.beat).ToList(); + if (currentSectionEvent < Beatmap.beatmapSections.Count && currentSectionEvent >= 0) + { + if (Conductor.instance.songPositionInBeats >= chartSections[currentSectionEvent]) + { + Debug.Log("Section " + Beatmap.beatmapSections[currentSectionEvent].sectionName + " started"); + currentSection = Beatmap.beatmapSections[currentSectionEvent]; + currentSectionEvent++; + if (currentSectionEvent < Beatmap.beatmapSections.Count) + nextSection = Beatmap.beatmapSections[currentSectionEvent]; + else + nextSection = null; + onSectionChange?.Invoke(currentSection); + } + } + float seekTime = 8f; //seek ahead to preload games that have assetbundles SeekAheadAndPreload(Conductor.instance.songPositionInBeats, seekTime); @@ -287,6 +307,8 @@ namespace HeavenStudio // currentEvent += gameManagerEntities.Count; } } + + } public void ToggleInputs(bool inputs) @@ -407,10 +429,17 @@ namespace HeavenStudio { SetGame(newGame); } + + List allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "end" }); + if (allEnds.Count > 0) + endBeat = allEnds.Select(c => c.beat).Min(); + else + endBeat = Conductor.instance.SongLengthInBeats(); } else { SetGame("noGame"); + endBeat = Conductor.instance.SongLengthInBeats(); } if (Beatmap.tempoChanges.Count > 0) @@ -446,6 +475,24 @@ namespace HeavenStudio } } + currentSection = null; + nextSection = null; + if (Beatmap.beatmapSections.Count > 0) + { + currentSectionEvent = 0; + List beatmapSections = Beatmap.beatmapSections.Select(c => c.beat).ToList(); + + for (int t = 0; t < beatmapSections.Count; t++) + { + if (beatmapSections[t] > beat) + { + break; + } + currentSectionEvent = t; + } + } + onSectionChange?.Invoke(currentSection); + SeekAheadAndPreload(beat); } diff --git a/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs b/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs index b5147b65a..024d58c4a 100644 --- a/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs +++ b/Assets/Scripts/LevelEditor/EventSelector/GridGameSelector.cs @@ -183,10 +183,11 @@ namespace HeavenStudio.Editor public void Drag() { - if (Conductor.instance.NotStopped() || !Timeline.instance.timelineState.selected) return; - + if (Conductor.instance.NotStopped() || Editor.instance.inAuthorativeMenu) return; + if (Timeline.instance.CheckIfMouseInTimeline() && dragTimes < 1) { + Timeline.instance.timelineState.SetState(Timeline.CurrentTimelineState.State.Selection); dragTimes++; TimelineEventObj eventObj; diff --git a/Assets/Scripts/LevelEditor/Timeline/Timeline.cs b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs index 8e350c743..d0f0bd173 100644 --- a/Assets/Scripts/LevelEditor/Timeline/Timeline.cs +++ b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs @@ -126,6 +126,10 @@ namespace HeavenStudio.Editor.Track [SerializeField] private RectTransform TimelineEventObjRef; [SerializeField] private RectTransform LayersRect; + [SerializeField] private GameObject TimelineSectionDisplay; + [SerializeField] private TMP_Text TimelineSectionText; + [SerializeField] private Slider TimelineSectionProgress; + [Header("Timeline Inputs")] public TMP_InputField FirstBeatOffset; public TMP_InputField StartingTempoSpecialAll; @@ -268,6 +272,7 @@ namespace HeavenStudio.Editor.Track timelineState.SetState(CurrentTimelineState.State.Selection); AutoBtnUpdate(); + GameManager.instance.onSectionChange += OnSectionChange; } public void FitToSong() @@ -333,6 +338,7 @@ namespace HeavenStudio.Editor.Track SongBeat.text = $"Beat {string.Format("{0:0.000}", Conductor.instance.songPositionInBeats)}"; SongPos.text = FormatTime(Conductor.instance.songPosition); } + TimelineSectionProgress.value = GameManager.instance.sectionProgress; SliderControl(); @@ -418,7 +424,7 @@ namespace HeavenStudio.Editor.Track TimelineContent.transform.localPosition = new Vector3(Mathf.Clamp(TimelineContent.transform.localPosition.x, Mathf.NegativeInfinity, 0), TimelineContent.transform.localPosition.y); - CurrentTempo.text = $" = {Conductor.instance.songBpm}"; + CurrentTempo.text = $" = {Conductor.instance.songBpm}"; LayersRect.GetWorldCorners(LayerCorners); } @@ -825,6 +831,21 @@ namespace HeavenStudio.Editor.Track UpdateStartingVolText(); } + public void OnSectionChange(DynamicBeatmap.ChartSection section) + { + if (section == null) + { + TimelineSectionDisplay.SetActive(false); + } + else + { + if (!TimelineSectionDisplay.activeSelf) + TimelineSectionDisplay.SetActive(true); + TimelineSectionText.text = section.sectionName; + TimelineSectionProgress.value = GameManager.instance.sectionProgress; + } + } + #endregion #region Commands