diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index d88de72e..e3db87ea 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -1938,7 +1938,7 @@ RectTransform: 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: -49.99994, y: 0} + m_AnchoredPosition: {x: -50, y: 0} m_SizeDelta: {x: 39.99997, y: 40} m_Pivot: {x: 1, y: 0.5} --- !u!114 &129013734 @@ -5307,6 +5307,66 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: 0, y: 0, z: 0, w: 0} m_Softness: {x: 0, y: 0} +--- !u!1 &380411593 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 380411594} + - component: {fileID: 380411595} + m_Layer: 5 + m_Name: VolumeChange + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &380411594 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380411593} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1.0001352, z: 1.0001352} + m_Children: + - {fileID: 1436123038} + - {fileID: 1126835991} + - {fileID: 746356639} + - {fileID: 1186810249} + m_Father: {fileID: 1037563074} + 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.7099991} + m_SizeDelta: {x: 0.0876, y: 0.71} + m_Pivot: {x: 0, y: 1} +--- !u!114 &380411595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380411593} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 86bb8f2f290876a4387f1ea6fedf332b, type: 3} + m_Name: + m_EditorClassIdentifier: + rectTransform: {fileID: 380411594} + volumeTXT: {fileID: 746356640} + raycastRect: {fileID: 1186810249} + volumeChange: + beat: 0 + length: 0 + volume: 0 + hovering: 0 --- !u!1 &390899752 GameObject: m_ObjectHideFlags: 0 @@ -10240,6 +10300,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 735918244} m_CullTransparentMesh: 1 +--- !u!1 &746356638 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 746356639} + - component: {fileID: 746356641} + - component: {fileID: 746356640} + 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 &746356639 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 746356638} + 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: 380411594} + 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 &746356640 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 746356638} + 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: 100% + 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 &746356641 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 746356638} + m_CullTransparentMesh: 1 --- !u!1 &749172746 GameObject: m_ObjectHideFlags: 0 @@ -12023,8 +12217,8 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1589389272} m_HandleRect: {fileID: 1589389271} m_Direction: 2 - m_Value: 1 - m_Size: 0.52903855 + m_Value: -0.00000013204993 + m_Size: 0.5293149 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -12614,8 +12808,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 111.50012, y: 40} - m_SizeDelta: {x: 223, y: 30.339996} + m_AnchoredPosition: {x: 111.50012, y: 38} + m_SizeDelta: {x: 223, y: 26.849} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &954835806 MonoBehaviour: @@ -12707,8 +12901,8 @@ RectTransform: 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: -22, y: 0} - m_SizeDelta: {x: 50, y: 30.34} + m_AnchoredPosition: {x: -22, y: -0.00013852} + m_SizeDelta: {x: 50, y: 26.849} m_Pivot: {x: 1, y: 0.5} --- !u!114 &967717800 MonoBehaviour: @@ -12891,10 +13085,10 @@ RectTransform: m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.36, y: 33.998} - m_Pivot: {x: 0.5, y: 1} + m_SizeDelta: {x: 0.36, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &983551350 MonoBehaviour: m_ObjectHideFlags: 0 @@ -13561,14 +13755,15 @@ 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: 380411594} m_Father: {fileID: 1852819573} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: 30.189209} - m_SizeDelta: {x: 0, y: 30.191} + m_AnchoredPosition: {x: 0, y: 31.184998} + m_SizeDelta: {x: 0, y: 31.187} m_Pivot: {x: 0, y: 1} --- !u!114 &1037563075 MonoBehaviour: @@ -13621,6 +13816,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: StartingVolume: {fileID: 967717800} + volumeTimelineObjs: [] --- !u!1 &1038760564 GameObject: m_ObjectHideFlags: 0 @@ -14819,6 +15015,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1123278334} m_CullTransparentMesh: 1 +--- !u!1 &1126835990 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1126835991} + - component: {fileID: 1126835993} + - component: {fileID: 1126835992} + 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 &1126835991 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1126835990} + 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: 380411594} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.03, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1126835992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1126835990} + 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 &1126835993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1126835990} + m_CullTransparentMesh: 1 --- !u!1 &1128012797 GameObject: m_ObjectHideFlags: 0 @@ -15065,7 +15336,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.94681} + m_AnchoredPosition: {x: 0, y: 361.05325} m_SizeDelta: {x: 0, y: 491} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1154875944 @@ -15436,6 +15707,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1183003085} m_CullTransparentMesh: 1 +--- !u!1 &1186810248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1186810249} + - component: {fileID: 1186810251} + - component: {fileID: 1186810250} + m_Layer: 5 + m_Name: Raycast + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1186810249 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1186810248} + 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: 380411594} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.36, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1186810250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1186810248} + 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} + 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 &1186810251 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1186810248} + m_CullTransparentMesh: 1 --- !u!1 &1186982020 GameObject: m_ObjectHideFlags: 0 @@ -16621,10 +16967,10 @@ RectTransform: m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.03, y: 33.998} - m_Pivot: {x: 0.5, y: 1} + m_SizeDelta: {x: 0.03, y: -0.0000008866191} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1287203021 MonoBehaviour: m_ObjectHideFlags: 0 @@ -17219,7 +17565,7 @@ RectTransform: 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: 49.99994, y: 0} + m_AnchoredPosition: {x: 50, y: 0} m_SizeDelta: {x: 39.999985, y: 40} m_Pivot: {x: 0, y: 0.5} --- !u!114 &1345846031 @@ -17599,6 +17945,81 @@ MonoBehaviour: layer: {fileID: 1906769994} tempoLayer: {fileID: 1511927534} musicLayer: {fileID: 954835807} +--- !u!1 &1436123037 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1436123038} + - component: {fileID: 1436123040} + - component: {fileID: 1436123039} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1436123038 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1436123037} + 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: 380411594} + 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.15, y: 11.84} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1436123039 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1436123037} + 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 &1436123040 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1436123037} + m_CullTransparentMesh: 1 --- !u!1 &1438983641 GameObject: m_ObjectHideFlags: 0 @@ -20488,8 +20909,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 111.50012, y: -14.244141} - m_SizeDelta: {x: 223, y: -138.84} + m_AnchoredPosition: {x: 111.50012, y: -16.119995} + m_SizeDelta: {x: 223, y: -135.09} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1671351976 MonoBehaviour: @@ -22695,7 +23116,7 @@ RectTransform: 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: -84.09497} + m_AnchoredPosition: {x: 0, y: -84.09494} m_SizeDelta: {x: 320, y: -115.28} m_Pivot: {x: 0, y: 1} --- !u!1 &1852819572 diff --git a/Assets/Scripts/Beatmap.cs b/Assets/Scripts/Beatmap.cs index e381ffe8..23e030d2 100644 --- a/Assets/Scripts/Beatmap.cs +++ b/Assets/Scripts/Beatmap.cs @@ -20,6 +20,7 @@ namespace HeavenStudio public List entities = new List(); public List tempoChanges = new List(); + public List volumeChanges = new List(); public float firstBeatOffset; [Serializable] @@ -85,5 +86,18 @@ namespace HeavenStudio return this.MemberwiseClone(); } } + + [Serializable] + public class VolumeChange : ICloneable + { + public float beat; + public float length; + public float volume; + + public object Clone() + { + return this.MemberwiseClone(); + } + } } } \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs b/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs index 6e7a4062..adfa9495 100644 --- a/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs +++ b/Assets/Scripts/LevelEditor/Timeline/TempoTimeline.cs @@ -131,7 +131,16 @@ namespace HeavenStudio.Editor.Track UpdateOffsetText(); } - private void AddTempoChange(bool create, Beatmap.TempoChange tempoChange_ = null) + public void ClearTempoTimeline() + { + foreach (TempoTimelineObj tempoTimelineObj in tempoTimelineObjs) + { + Destroy(tempoTimelineObj.gameObject); + } + tempoTimelineObjs.Clear(); + } + + public void AddTempoChange(bool create, Beatmap.TempoChange tempoChange_ = null) { GameObject tempoChange = Instantiate(RefTempoChange.gameObject, this.transform); diff --git a/Assets/Scripts/LevelEditor/Timeline/Timeline.cs b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs index 8c565db1..dc71fd26 100644 --- a/Assets/Scripts/LevelEditor/Timeline/Timeline.cs +++ b/Assets/Scripts/LevelEditor/Timeline/Timeline.cs @@ -101,6 +101,7 @@ namespace HeavenStudio.Editor.Track public void LoadRemix() { + // beatmap entities for (int i = 0; i < eventObjs.Count; i++) { Destroy(eventObjs[i].gameObject); @@ -109,11 +110,21 @@ namespace HeavenStudio.Editor.Track for (int i = 0; i < GameManager.instance.Beatmap.entities.Count; i++) { - var entity = GameManager.instance.Beatmap.entities[i]; var e = GameManager.instance.Beatmap.entities[i]; AddEventObject(e.datamodel, false, new Vector3(e.beat, -e.track * LayerHeight()), e, false, RandomID()); } + + //tempo changes + TempoInfo.ClearTempoTimeline(); + for (int i = 0; i < GameManager.instance.Beatmap.tempoChanges.Count; i++) + { + var t = GameManager.instance.Beatmap.tempoChanges[i]; + + TempoInfo.AddTempoChange(false, t); + } + + //volume changes } public void Init() diff --git a/Assets/Scripts/LevelEditor/Timeline/VolumeTimeline.cs b/Assets/Scripts/LevelEditor/Timeline/VolumeTimeline.cs index 39b3b3aa..bcc460b9 100644 --- a/Assets/Scripts/LevelEditor/Timeline/VolumeTimeline.cs +++ b/Assets/Scripts/LevelEditor/Timeline/VolumeTimeline.cs @@ -16,6 +16,8 @@ namespace HeavenStudio.Editor.Track public TMP_InputField StartingVolume; private RectTransform StartingVolumeRect; + public List volumeTimelineObjs = new List(); + private bool firstUpdate; void Start() @@ -74,8 +76,8 @@ namespace HeavenStudio.Editor.Track } else if (newVol < 0) { - StartingVolume.text = "1"; - newVol = 1; + StartingVolume.text = "0"; + newVol = 0; } GameManager.instance.Beatmap.musicVolume = newVol; diff --git a/Assets/Scripts/LevelEditor/Timeline/VolumeTimelineObj.cs b/Assets/Scripts/LevelEditor/Timeline/VolumeTimelineObj.cs new file mode 100644 index 00000000..e800c5ee --- /dev/null +++ b/Assets/Scripts/LevelEditor/Timeline/VolumeTimelineObj.cs @@ -0,0 +1,105 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +using TMPro; + +using DG.Tweening; + +namespace HeavenStudio.Editor.Track +{ + public class VolumeTimelineObj : MonoBehaviour + { + [Header("Components")] + [SerializeField] private RectTransform rectTransform; + [SerializeField] private TMP_Text volumeTXT; + [SerializeField] private RectTransform raycastRect; + + public Beatmap.VolumeChange volumeChange; + + private float startPosX; + private bool moving = false; + + public bool hovering; + + private float lastPosX; + + private void Start() + { + rectTransform = GetComponent(); + volumeTXT = transform.GetChild(2).GetComponent(); + UpdateVolume(); + } + + private void Update() + { + if (Timeline.instance.timelineState.musicVolume && !Conductor.instance.NotStopped()) + { + if (RectTransformUtility.RectangleContainsScreenPoint(raycastRect, Input.mousePosition, Editor.instance.EditorCamera)) + { + float newVolume = Input.mouseScrollDelta.y; + + if (Input.GetKey(KeyCode.LeftShift)) + newVolume *= 5f; + if (Input.GetKey(KeyCode.LeftControl)) + newVolume /= 100f; + + volumeChange.volume += newVolume; + + //make sure volume is positive + volumeChange.volume = Mathf.Clamp(volumeChange.volume, 0, 100); + + if (Input.GetMouseButtonDown(0)) + { + Vector3 mousePos = Editor.instance.EditorCamera.ScreenToWorldPoint(Input.mousePosition); + startPosX = mousePos.x - transform.position.x; + moving = true; + lastPosX = transform.localPosition.x; + } + else if (Input.GetMouseButtonDown(1)) + { + GameManager.instance.Beatmap.volumeChanges.Remove(volumeChange); + transform.parent.GetComponent().volumeTimelineObjs.Remove(this); + Destroy(this.gameObject); + } + + hovering = true; + } + else + { + hovering = false; + } + + if (moving) + { + Vector3 mousePos = Editor.instance.EditorCamera.ScreenToWorldPoint(Input.mousePosition); + + transform.position = new Vector3(mousePos.x - startPosX, transform.position.y, 0); + transform.localPosition = new Vector3(Mathf.Clamp(Starpelly.Mathp.Round2Nearest(transform.localPosition.x, Timeline.SnapInterval()), 0, Mathf.Infinity), transform.localPosition.y); + } + if (Input.GetMouseButtonUp(0)) + { + if (transform.parent.GetComponent().volumeTimelineObjs.Find(c => c.gameObject.transform.localPosition.x == this.transform.localPosition.x && c != this) != null) + { + transform.localPosition = new Vector3(lastPosX, transform.localPosition.y); + } + else + { + volumeChange.beat = transform.localPosition.x; + } + + moving = false; + lastPosX = transform.localPosition.x; + } + + UpdateVolume(); + } + } + + private void UpdateVolume() + { + volumeTXT.text = $"{volumeChange.volume}%"; + Timeline.instance.FitToSong(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/Timeline/VolumeTimelineObj.cs.meta b/Assets/Scripts/LevelEditor/Timeline/VolumeTimelineObj.cs.meta new file mode 100644 index 00000000..6e1eb12e --- /dev/null +++ b/Assets/Scripts/LevelEditor/Timeline/VolumeTimelineObj.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86bb8f2f290876a4387f1ea6fedf332b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: