diff --git a/Assets/Materials/General/DefaultLitTransparent.mat b/Assets/Materials/General/DefaultLitTransparent.mat index de15ef7a..f8279719 100644 --- a/Assets/Materials/General/DefaultLitTransparent.mat +++ b/Assets/Materials/General/DefaultLitTransparent.mat @@ -11,19 +11,15 @@ Material: m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ALPHAPREMULTIPLY_ON - - _SURFACE_TYPE_TRANSPARENT + m_ValidKeywords: [] m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 + m_CustomRenderQueue: 2000 stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - DepthOnly - - SHADOWCASTER + RenderType: Opaque + disabledShaderPasses: [] m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -97,8 +93,8 @@ Material: - _Cutoff: 0.5 - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _DstBlendAlpha: 10 + - _DstBlend: 0 + - _DstBlendAlpha: 0 - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0 @@ -113,9 +109,9 @@ Material: - _SpecularHighlights: 1 - _SrcBlend: 1 - _SrcBlendAlpha: 1 - - _Surface: 1 + - _Surface: 0 - _WorkflowMode: 1 - - _ZWrite: 0 + - _ZWrite: 1 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Scenes/StartMenu.unity b/Assets/Scenes/StartMenu.unity index 93af63bf..e2a3e64f 100644 --- a/Assets/Scenes/StartMenu.unity +++ b/Assets/Scenes/StartMenu.unity @@ -14322,7 +14322,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 4337614255116277774} m_HandleRect: {fileID: 4337614255116277775} m_Direction: 2 - m_Value: 0 + m_Value: 1 m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: diff --git a/Assets/Scripts/EditorGame/GameElements/Notes/NoteObjects/NoteBase.cs b/Assets/Scripts/EditorGame/GameElements/Notes/NoteObjects/NoteBase.cs index ccdd7494..e9b21231 100644 --- a/Assets/Scripts/EditorGame/GameElements/Notes/NoteObjects/NoteBase.cs +++ b/Assets/Scripts/EditorGame/GameElements/Notes/NoteObjects/NoteBase.cs @@ -36,7 +36,8 @@ namespace Ichni.RhythmGame /// public virtual void UpdateNoteInMovableTrack() { - trackPositioner.SetPercent((track.trackTimeSubmodule as TrackTimeSubmoduleMovable).GetTrackPercent(exactJudgeTime)); + TrackTimeSubmoduleMovable trackTimeSubmoduleMovable = track.trackTimeSubmodule as TrackTimeSubmoduleMovable; + trackPositioner.SetPercent(trackTimeSubmoduleMovable.GetTrackPercent(exactJudgeTime)); } /// diff --git a/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs b/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs index f510e89c..6b7759e1 100644 --- a/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs +++ b/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackPathSubmodule.cs @@ -42,7 +42,7 @@ namespace Ichni.RhythmGame this.trackDisplay.spline = path; this.trackDisplay.size = 0.1f; - this.trackDisplay.gameObject.SetActive(isShowingDisplay); + this.SetDisplay(isShowingDisplay); } } @@ -77,6 +77,13 @@ namespace Ichni.RhythmGame { path.SetPoint(point.index, point.node, SplineComputer.Space.Local); } + + + public void SetDisplay(bool isShowing) + { + this.isShowingDisplay = isShowing; + trackDisplay.gameObject.SetActive(isShowing); + } } public partial class TrackPathSubmodule @@ -103,7 +110,7 @@ namespace Ichni.RhythmGame }); var showDisplayToggle = inspector.GenerateToggle(this, container, "Show Display", nameof(isShowingDisplay)); - showDisplayToggle.AddListenerFunction(_ => trackDisplay.gameObject.SetActive(isShowingDisplay)); + showDisplayToggle.AddListenerFunction(_ => SetDisplay(isShowingDisplay)); } } diff --git a/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackTimeSubmodule.cs b/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackTimeSubmodule.cs index f9a5d19f..348633a9 100644 --- a/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackTimeSubmodule.cs +++ b/Assets/Scripts/EditorGame/GameElements/Track/TrackSubmodules/TrackTimeSubmodule.cs @@ -58,8 +58,7 @@ namespace Ichni.RhythmGame public float GetTrackPercent(float songTimeInTime) { - float per = AnimationCurveEvaluator.Evaluate(animationCurveType, - (songTimeInTime - trackStartTime) / trackTotalTime); + float per = AnimationCurveEvaluator.Evaluate(animationCurveType, (songTimeInTime - trackStartTime) / trackTotalTime); return Mathf.Clamp01(per); } diff --git a/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs b/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs index 61b2d0da..360f79b7 100644 --- a/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs +++ b/Assets/Scripts/EditorGame/GameElements/Track/TrackTools.cs @@ -149,7 +149,7 @@ namespace Ichni.RhythmGame /// 批量开启或关闭所有PathNode的Sphere显示 /// /// - private void SetAllPathNodeSphere(bool isShowing) + public void SetAllPathNodeSphere(bool isShowing) { trackPathSubmodule.pathNodeList.ForEach(pn => pn.SetPathNodeSphere(isShowing)); } diff --git a/Assets/Scripts/Manager/InputListener.cs b/Assets/Scripts/Manager/InputListener.cs index a34d0c5e..f8993e2c 100644 --- a/Assets/Scripts/Manager/InputListener.cs +++ b/Assets/Scripts/Manager/InputListener.cs @@ -1,6 +1,8 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; +using Ichni.RhythmGame; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.InputSystem; @@ -11,57 +13,102 @@ namespace Ichni.Editor public partial class InputListener : MonoBehaviour { private PointerEventData pointerEventData; + private bool isPointerOverUI; + private GameObject hoveredUI; public EventSystem eventSystem; public List graphicRaycasters; - + + private void Start() + { + sceneCameraTransform = EditorManager.instance.cameraManager.sceneCamera.transform; + } + private void Update() { - bool isPointerOverUI = IsPointerOverUI(out GameObject hoveredUI); - - if (EditorManager.instance.cameraManager.isSceneCameraActive && - !Keyboard.current.leftCtrlKey.isPressed && !isPointerOverUI) // 场景相机的移动和旋转 + isPointerOverUI = IsPointerOverUI(out hoveredUI); + + SceneCameraOperation(); + MusicPlayerOperation(); + TracksOperation(); + SaveAndExportOperation(); + CopyPasteDeleteOperation(); + ResolutionHintsOperation(); + UIOperation(); + SwitchCameraOperation(); + } + } + + public partial class InputListener + { + private bool isRotatingSceneCamera; + private Transform sceneCameraTransform; + + private void SceneCameraOperation() + { + if (Keyboard.current.ctrlKey.isPressed || Keyboard.current.altKey.isPressed || Keyboard.current.shiftKey.isPressed) + { + return; + } + + if (EditorManager.instance.cameraManager.isSceneCameraActive && !isPointerOverUI) // 场景相机的移动和旋转 { float cameraMoveSpeed = EditorManager.instance.cameraManager.sceneCameraMoveSpeed * Time.deltaTime; - Transform sceneCameraTransform = EditorManager.instance.cameraManager.sceneCamera.transform; + if (Keyboard.current.wKey.isPressed) { sceneCameraTransform.position += sceneCameraTransform.forward * cameraMoveSpeed; } + if (Keyboard.current.sKey.isPressed) { sceneCameraTransform.position -= sceneCameraTransform.forward * cameraMoveSpeed; } + if (Keyboard.current.dKey.isPressed) { sceneCameraTransform.position += sceneCameraTransform.right * cameraMoveSpeed; } + if (Keyboard.current.aKey.isPressed) { sceneCameraTransform.position -= sceneCameraTransform.right * cameraMoveSpeed; } + if (Keyboard.current.eKey.isPressed) { sceneCameraTransform.position += sceneCameraTransform.up * cameraMoveSpeed; } + if (Keyboard.current.qKey.isPressed) { sceneCameraTransform.position -= sceneCameraTransform.up * cameraMoveSpeed; } + } - if (Mouse.current.rightButton.isPressed && !isPointerOverUI) + if (EditorManager.instance.cameraManager.isSceneCameraActive) + { + if (Mouse.current.rightButton.wasPressedThisFrame && !isPointerOverUI) { - float cameraRotateSpeed = EditorManager.instance.cameraManager.sceneCameraRotateSpeed * Time.deltaTime; - Vector2 mouseDelta = Mouse.current.delta.ReadValue(); - sceneCameraTransform.Rotate(Vector3.up, -mouseDelta.x * cameraRotateSpeed, Space.World); - sceneCameraTransform.Rotate(sceneCameraTransform.right, mouseDelta.y * cameraRotateSpeed, Space.World); + isRotatingSceneCamera = true; } - else if (isPointerOverUI) + else if (Mouse.current.rightButton.wasReleasedThisFrame) { - + isRotatingSceneCamera = false; } } - if (!isPointerOverUI && Keyboard.current.enterKey.wasPressedThisFrame) // 播放或暂停音乐 + if (isRotatingSceneCamera) + { + float cameraRotateSpeed = EditorManager.instance.cameraManager.sceneCameraRotateSpeed * Time.deltaTime; + Vector2 mouseDelta = Mouse.current.delta.ReadValue(); + sceneCameraTransform.Rotate(Vector3.up, -mouseDelta.x * cameraRotateSpeed, Space.World); + sceneCameraTransform.Rotate(sceneCameraTransform.right, mouseDelta.y * cameraRotateSpeed, Space.World); + } + } + + private void MusicPlayerOperation() + { + if (Keyboard.current.enterKey.wasPressedThisFrame && !isPointerOverUI) // 回车键 播放或暂停音乐 { if (!EditorManager.instance.musicPlayer.isPlaying) { @@ -72,63 +119,103 @@ namespace Ichni.Editor EditorManager.instance.musicPlayer.PauseMusic(); } } - - - if (Keyboard.current.leftCtrlKey.isPressed) // 快捷键 + } + + private void TracksOperation() + { + if (Keyboard.current.altKey.isPressed) { - // 保存和导出 - if (Keyboard.current.sKey.wasPressedThisFrame) + if (Keyboard.current.pKey.wasPressedThisFrame) // Alt + P 显示或隐藏所有路径节点 + { + List allTracks = EditorManager.instance.beatmapContainer.gameElementList.FindAll(x => x is Track).Cast().ToList(); + bool isAnyPathNodeShowing = allTracks.Any(track => track.trackPathSubmodule.pathNodeList.Any(pathNode => pathNode.isShowingSphere)); + allTracks.ForEach(track => track.SetAllPathNodeSphere(!isAnyPathNodeShowing)); + } + else if (Keyboard.current.dKey.wasPressedThisFrame) // Alt + D 启用或隐藏所有轨道路径显示 + { + List allTracks = EditorManager.instance.beatmapContainer.gameElementList.FindAll(x => x is Track).Cast().ToList(); + bool isAnyTrackDisplayShowing = allTracks.Any(track => track.trackPathSubmodule.isShowingDisplay); + allTracks.ForEach(track => track.trackPathSubmodule.SetDisplay(!isAnyTrackDisplayShowing)); + } + } + } + + private void SaveAndExportOperation() + { + if (Keyboard.current.leftCtrlKey.isPressed) + { + if (Keyboard.current.sKey.wasPressedThisFrame) // Ctrl + S 保存 { EditorManager.instance.projectManager.saveManager.Save(); } - else if (Keyboard.current.eKey.wasPressedThisFrame) + else if (Keyboard.current.eKey.wasPressedThisFrame) // Ctrl + E 导出 { EditorManager.instance.projectManager.exportManager.Export(); } - - // 复制粘贴删除 - if (Keyboard.current.cKey.wasPressedThisFrame) + } + } + + private void CopyPasteDeleteOperation() + { + if (Keyboard.current.leftCtrlKey.isPressed) + { + if (Keyboard.current.cKey.wasPressedThisFrame) // Ctrl + C 复制 { EditorManager.instance.operationManager.CopyPasteDeleteModule.CopyElement(EditorManager.instance.operationManager.currentSelectedElement); } - else if (Keyboard.current.vKey.wasPressedThisFrame) + else if (Keyboard.current.vKey.wasPressedThisFrame) // Ctrl + V 粘贴 { EditorManager.instance.operationManager.CopyPasteDeleteModule.PasteElement(EditorManager.instance.operationManager.currentSelectedElement); } - else if (Keyboard.current.dKey.wasPressedThisFrame) + else if (Keyboard.current.dKey.wasPressedThisFrame) // Ctrl + D 删除 { EditorManager.instance.operationManager.CopyPasteDeleteModule.DeleteElement(EditorManager.instance.operationManager.currentSelectedElement); } - - // 开关移动设备分辨率提示 - if (Keyboard.current.digit1Key.wasPressedThisFrame) + } + } + + private void ResolutionHintsOperation() + { + if (Keyboard.current.leftCtrlKey.isPressed) + { + if (Keyboard.current.digit1Key.wasPressedThisFrame) // Ctrl + 1 手机分辨率提示 { EditorManager.instance.uiManager.mainPage.resolutionHints.SetPhoneFrame(); } - else if (Keyboard.current.digit2Key.wasPressedThisFrame) + else if (Keyboard.current.digit2Key.wasPressedThisFrame) // Ctrl + 2 平板分辨率提示 { EditorManager.instance.uiManager.mainPage.resolutionHints.SetIPadFrame(); } - else if (Keyboard.current.digit3Key.wasPressedThisFrame) + else if (Keyboard.current.digit3Key.wasPressedThisFrame) // Ctrl + 3 绝对安全区域提示 { EditorManager.instance.uiManager.mainPage.resolutionHints.SetSafeAreaFrame(); } - - // 开关所有静态窗口 - if (Keyboard.current.uKey.wasPressedThisFrame) + } + } + + private void UIOperation() + { + if (Keyboard.current.leftCtrlKey.isPressed) + { + if (Keyboard.current.uKey.wasPressedThisFrame) // Ctrl + U 开关所有静态窗口 { EditorManager.instance.uiManager.SetAllStaticWindowsActive(); } - - //切换摄像机 - if (Keyboard.current.mKey.wasPressedThisFrame) + } + } + + private void SwitchCameraOperation() + { + if (Keyboard.current.leftCtrlKey.isPressed) + { + if (Keyboard.current.mKey.wasPressedThisFrame) // Ctrl + M 切换摄像机 { EditorManager.instance.cameraManager.SwitchCamera(); } } } } - + public partial class InputListener { public bool IsPointerOverUI(out GameObject hoveredUI) diff --git a/Assets/StreamingAssets/AutoSave/Terminal.meta b/Assets/StreamingAssets/AutoSave/Terminal.meta new file mode 100644 index 00000000..f1d7911b --- /dev/null +++ b/Assets/StreamingAssets/AutoSave/Terminal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 239351ec00e5942759a8050c450d7a89 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/AutoSave/Terminal/AutoSave_0.json b/Assets/StreamingAssets/AutoSave/Terminal/AutoSave_0.json index a7b34922..95339dcb 100644 --- a/Assets/StreamingAssets/AutoSave/Terminal/AutoSave_0.json +++ b/Assets/StreamingAssets/AutoSave/Terminal/AutoSave_0.json @@ -492,137 +492,6 @@ "attachedElementGuid" : { "value" : "976c1bde-65be-468c-81d3-0c133f615edb" } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.Hold_BM,Assembly-CSharp", - "holdEndTime" : 2.5, - "exactJudgeTime" : 1.5, - "elementName" : "New Hold", - "tags" : [ - - ], - "elementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - }, - "attachedElementGuid" : { - "value" : "d9d3df55-9509-46dc-8e2f-d628993313cb" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", - "isOverridingDuration" : false, - "startTime" : -1, - "endTime" : 0, - "attachedElementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp", - "judgeUnitList" : [ - - ], - "attachedElementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - } - },{ - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicHoldVisualMovable_BM,Assembly-CSharp", - "themeBundleName" : "basic", - "objectName" : "BasicNoteHoldMovable", - "elementName" : "New Note Visual", - "tags" : [ - - ], - "elementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - }, - "attachedElementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", - "originalPosition" : { - "x" : 0, - "y" : 0, - "z" : 0 - }, - "originalEulerAngles" : { - "x" : 0, - "y" : 0, - "z" : 0 - }, - "originalScale" : { - "x" : 1, - "y" : 1, - "z" : 1 - }, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", - "isOverridingDuration" : false, - "startTime" : -1, - "endTime" : 0, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", - "originalBaseColor" : { - "r" : 1, - "g" : 1, - "b" : 1, - "a" : 1 - }, - "emissionEnabled" : false, - "originalEmissionColor" : { - "r" : 0, - "g" : 0, - "b" : 0, - "a" : 1 - }, - "originalEmissionIntensity" : 0, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp", - "effectCollection" : {"Generate":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGenerateExpand_BM,Assembly-CSharp", - "generateTime" : 1, - "effectTime" : 0.1 - } - ],"GeneralJudge":[ - - ],"Holding":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteHoldingExpand_BM,Assembly-CSharp", - "effectTime" : 1 - } - ],"Perfect":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNotePerfectBurst_BM,Assembly-CSharp", - "effectTime" : 0.1 - } - ],"Good":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGoodBurst_BM,Assembly-CSharp", - "effectTime" : 0.1 - } - ],"Bad":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteBadShrink_BM,Assembly-CSharp", - "effectTime" : 0.1 - } - ],"Miss":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteMissPale_BM,Assembly-CSharp", - "effectTime" : 0.2 - } - ] - }, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } },{ "__type" : "Ichni.RhythmGame.Beatmap.TrackPercentPoint_BM,Assembly-CSharp", "trackPercent" : { @@ -707,6 +576,134 @@ "attachedElementGuid" : { "value" : "7e68e165-d078-442e-a68a-c2d4f10827a9" } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Hold_BM,Assembly-CSharp", + "holdEndTime" : 2.5, + "exactJudgeTime" : 1.5, + "elementName" : "New Hold", + "tags" : [ + + ], + "elementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + }, + "attachedElementGuid" : { + "value" : "d9d3df55-9509-46dc-8e2f-d628993313cb" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -1, + "endTime" : 0, + "attachedElementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp", + "judgeUnitList" : [ + + ], + "attachedElementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + } + },{ + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicHoldVisualTube_BM,Assembly-CSharp", + "themeBundleName" : "basic", + "objectName" : "BasicNoteHoldTube", + "elementName" : "New Note Visual", + "tags" : [ + + ], + "elementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + }, + "attachedElementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -1, + "endTime" : 0, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp", + "effectCollection" : {"Generate":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGenerateExpand_BM,Assembly-CSharp", + "generateTime" : 1, + "effectTime" : 0.1 + } + ],"GeneralJudge":[ + + ],"Holding":[ + + ],"Perfect":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNotePerfectBurst_BM,Assembly-CSharp", + "effectTime" : 0.1 + } + ],"Good":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGoodBurst_BM,Assembly-CSharp", + "effectTime" : 0.1 + } + ],"Bad":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteBadShrink_BM,Assembly-CSharp", + "effectTime" : 0.1 + } + ],"Miss":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteMissPale_BM,Assembly-CSharp", + "effectTime" : 0.2 + } + ] + }, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } } ], "attachedElementGuid" : { diff --git a/Assets/StreamingAssets/AutoSave/Terminal/AutoSave_0.json.meta b/Assets/StreamingAssets/AutoSave/Terminal/AutoSave_0.json.meta new file mode 100644 index 00000000..973476ab --- /dev/null +++ b/Assets/StreamingAssets/AutoSave/Terminal/AutoSave_0.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9261ad11edf9a42369994908c53e5ddf +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Projects/Terminal/Beatmap.json b/Assets/StreamingAssets/Projects/Terminal/Beatmap.json index a7b34922..4acb3af2 100644 --- a/Assets/StreamingAssets/Projects/Terminal/Beatmap.json +++ b/Assets/StreamingAssets/Projects/Terminal/Beatmap.json @@ -186,8 +186,8 @@ },{ "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", "originalPosition" : { - "x" : -10, - "y" : 0, + "x" : 0, + "y" : 5, "z" : 10 }, "originalEulerAngles" : { @@ -492,137 +492,6 @@ "attachedElementGuid" : { "value" : "976c1bde-65be-468c-81d3-0c133f615edb" } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.Hold_BM,Assembly-CSharp", - "holdEndTime" : 2.5, - "exactJudgeTime" : 1.5, - "elementName" : "New Hold", - "tags" : [ - - ], - "elementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - }, - "attachedElementGuid" : { - "value" : "d9d3df55-9509-46dc-8e2f-d628993313cb" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", - "isOverridingDuration" : false, - "startTime" : -1, - "endTime" : 0, - "attachedElementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp", - "judgeUnitList" : [ - - ], - "attachedElementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - } - },{ - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicHoldVisualMovable_BM,Assembly-CSharp", - "themeBundleName" : "basic", - "objectName" : "BasicNoteHoldMovable", - "elementName" : "New Note Visual", - "tags" : [ - - ], - "elementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - }, - "attachedElementGuid" : { - "value" : "431b9cdf-3d07-4ca3-a540-e5772fdcacb9" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", - "originalPosition" : { - "x" : 0, - "y" : 0, - "z" : 0 - }, - "originalEulerAngles" : { - "x" : 0, - "y" : 0, - "z" : 0 - }, - "originalScale" : { - "x" : 1, - "y" : 1, - "z" : 1 - }, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", - "isOverridingDuration" : false, - "startTime" : -1, - "endTime" : 0, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", - "originalBaseColor" : { - "r" : 1, - "g" : 1, - "b" : 1, - "a" : 1 - }, - "emissionEnabled" : false, - "originalEmissionColor" : { - "r" : 0, - "g" : 0, - "b" : 0, - "a" : 1 - }, - "originalEmissionIntensity" : 0, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } - },{ - "__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp", - "effectCollection" : {"Generate":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGenerateExpand_BM,Assembly-CSharp", - "generateTime" : 1, - "effectTime" : 0.1 - } - ],"GeneralJudge":[ - - ],"Holding":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteHoldingExpand_BM,Assembly-CSharp", - "effectTime" : 1 - } - ],"Perfect":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNotePerfectBurst_BM,Assembly-CSharp", - "effectTime" : 0.1 - } - ],"Good":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGoodBurst_BM,Assembly-CSharp", - "effectTime" : 0.1 - } - ],"Bad":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteBadShrink_BM,Assembly-CSharp", - "effectTime" : 0.1 - } - ],"Miss":[ - { - "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteMissPale_BM,Assembly-CSharp", - "effectTime" : 0.2 - } - ] - }, - "attachedElementGuid" : { - "value" : "160d94d5-652f-4402-b0e3-a7451b554307" - } },{ "__type" : "Ichni.RhythmGame.Beatmap.TrackPercentPoint_BM,Assembly-CSharp", "trackPercent" : { @@ -707,6 +576,194 @@ "attachedElementGuid" : { "value" : "7e68e165-d078-442e-a68a-c2d4f10827a9" } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.Hold_BM,Assembly-CSharp", + "holdEndTime" : 2.5, + "exactJudgeTime" : 1.5, + "elementName" : "New Hold", + "tags" : [ + + ], + "elementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + }, + "attachedElementGuid" : { + "value" : "d9d3df55-9509-46dc-8e2f-d628993313cb" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -1, + "endTime" : 0, + "attachedElementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.NoteJudgeSubmodule_BM,Assembly-CSharp", + "judgeUnitList" : [ + + ], + "attachedElementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + } + },{ + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicHoldVisualTube_BM,Assembly-CSharp", + "themeBundleName" : "basic", + "objectName" : "BasicNoteHoldTube", + "elementName" : "New Note Visual", + "tags" : [ + + ], + "elementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + }, + "attachedElementGuid" : { + "value" : "538494e1-412c-4d0a-9c0a-b386c806bf12" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -1, + "endTime" : 0, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.EffectSubmodule_BM,Assembly-CSharp", + "effectCollection" : {"Generate":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGenerateExpand_BM,Assembly-CSharp", + "generateTime" : 1, + "effectTime" : 0.1 + } + ],"GeneralJudge":[ + + ],"Holding":[ + + ],"Perfect":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNotePerfectBurst_BM,Assembly-CSharp", + "effectTime" : 0.1 + } + ],"Good":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteGoodBurst_BM,Assembly-CSharp", + "effectTime" : 0.1 + } + ],"Bad":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteBadShrink_BM,Assembly-CSharp", + "effectTime" : 0.1 + } + ],"Miss":[ + { + "__type" : "Ichni.RhythmGame.ThemeBundles.Basic.Beatmap.BasicNoteMissPale_BM,Assembly-CSharp", + "effectTime" : 0.2 + } + ] + }, + "attachedElementGuid" : { + "value" : "3c854afb-c3b0-428e-a7f1-724f6451cc02" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.PathNode_BM,Assembly-CSharp", + "isShowingSphere" : false, + "elementName" : "New Path Node", + "tags" : [ + + ], + "elementGuid" : { + "value" : "3f3e67c3-2771-498c-ae67-07baf315c418" + }, + "attachedElementGuid" : { + "value" : "d9d3df55-9509-46dc-8e2f-d628993313cb" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TransformSubmodule_BM,Assembly-CSharp", + "originalPosition" : { + "x" : -10, + "y" : 0, + "z" : 10 + }, + "originalEulerAngles" : { + "x" : 0, + "y" : 0, + "z" : 0 + }, + "originalScale" : { + "x" : 1, + "y" : 1, + "z" : 1 + }, + "attachedElementGuid" : { + "value" : "3f3e67c3-2771-498c-ae67-07baf315c418" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.TimeDurationSubmodule_BM,Assembly-CSharp", + "isOverridingDuration" : false, + "startTime" : -1, + "endTime" : 0, + "attachedElementGuid" : { + "value" : "3f3e67c3-2771-498c-ae67-07baf315c418" + } + },{ + "__type" : "Ichni.RhythmGame.Beatmap.ColorSubmodule_BM,Assembly-CSharp", + "originalBaseColor" : { + "r" : 1, + "g" : 1, + "b" : 1, + "a" : 1 + }, + "emissionEnabled" : false, + "originalEmissionColor" : { + "r" : 0, + "g" : 0, + "b" : 0, + "a" : 1 + }, + "originalEmissionIntensity" : 0, + "attachedElementGuid" : { + "value" : "3f3e67c3-2771-498c-ae67-07baf315c418" + } } ], "attachedElementGuid" : { diff --git a/Assets/StreamingAssets/ThemeBundles/OSX/OSX b/Assets/StreamingAssets/ThemeBundles/OSX/OSX index 86ff17c9..1a8ad18f 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/OSX/OSX and b/Assets/StreamingAssets/ThemeBundles/OSX/OSX differ diff --git a/Assets/StreamingAssets/ThemeBundles/OSX/OSX.manifest b/Assets/StreamingAssets/ThemeBundles/OSX/OSX.manifest index 9ebf8eb2..610ccb06 100644 --- a/Assets/StreamingAssets/ThemeBundles/OSX/OSX.manifest +++ b/Assets/StreamingAssets/ThemeBundles/OSX/OSX.manifest @@ -1,5 +1,5 @@ ManifestFileVersion: 0 -CRC: 3393409780 +CRC: 3941038012 AssetBundleManifest: AssetBundleInfos: Info_0: diff --git a/Assets/StreamingAssets/ThemeBundles/OSX/basic b/Assets/StreamingAssets/ThemeBundles/OSX/basic index e8b21bf0..252c3957 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/OSX/basic and b/Assets/StreamingAssets/ThemeBundles/OSX/basic differ diff --git a/Assets/StreamingAssets/ThemeBundles/OSX/basic.manifest b/Assets/StreamingAssets/ThemeBundles/OSX/basic.manifest index a776686a..8305771c 100644 --- a/Assets/StreamingAssets/ThemeBundles/OSX/basic.manifest +++ b/Assets/StreamingAssets/ThemeBundles/OSX/basic.manifest @@ -1,15 +1,15 @@ ManifestFileVersion: 0 -CRC: 2839714745 +CRC: 573726586 Hashes: AssetFileHash: serializedVersion: 2 - Hash: e97f9ef7be70f049f85b3caa0f210dda + Hash: bb34ed79fa83e8a7a222f718bad2bc20 TypeTreeHash: serializedVersion: 2 - Hash: ba4dbc034cf972e8bde9558b656c4876 + Hash: 4b172f4c084fd18781da20e5fc19bfa6 IncrementalBuildHash: serializedVersion: 2 - Hash: e97f9ef7be70f049f85b3caa0f210dda + Hash: bb34ed79fa83e8a7a222f718bad2bc20 HashAppended: 0 ClassTypes: - Class: 1 @@ -30,20 +30,28 @@ ClassTypes: Script: {instanceID: 0} - Class: 108 Script: {instanceID: 0} +- Class: 114 + Script: {fileID: 11500000, guid: 77ab80dc0820f9d4a8cd9fddbbc89057, type: 3} - Class: 114 Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} +- Class: 114 + Script: {fileID: 11500000, guid: 0def5156137c6d14082064fa7b5d5247, type: 3} - Class: 114 Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} +- Class: 114 + Script: {fileID: 11500000, guid: 2e1690bb01d509a439fc991a10f8278f, type: 3} - Class: 114 Script: {fileID: 11500000, guid: 7e32cd989d5ff4f52b2b9ca2436698e6, type: 3} - Class: 114 Script: {fileID: 11500000, guid: 4d3011bfdcb00476fbd1a7de86d1c1cb, type: 3} - Class: 114 Script: {fileID: 11500000, guid: 72caf325f2b59403c94193cd2037b7ba, type: 3} +- Class: 114 + Script: {fileID: 11500000, guid: cba1fe17342b14361bb504a9a506878b, type: 3} - Class: 114 Script: {fileID: 11500000, guid: f92b9b8f89de544adaa001ccfdf7eae4, type: 3} - Class: 114 - Script: {fileID: 11500000, guid: cba1fe17342b14361bb504a9a506878b, type: 3} + Script: {fileID: 11500000, guid: d94f163ef3d384b7eac5af0a344d786d, type: 3} - Class: 115 Script: {instanceID: 0} - Class: 212 @@ -51,6 +59,18 @@ ClassTypes: - Class: 213 Script: {instanceID: 0} SerializeReferenceClassIdentifiers: +- AssemblyName: Assembly-CSharp + ClassName: Dreamteck.Splines.ColorModifier +- AssemblyName: Assembly-CSharp + ClassName: Dreamteck.Splines.OffsetModifier +- AssemblyName: Assembly-CSharp + ClassName: Dreamteck.Splines.RotationModifier +- AssemblyName: Assembly-CSharp + ClassName: Dreamteck.Splines.SizeModifier +- AssemblyName: Assembly-CSharp + ClassName: Dreamteck.Splines.SplineSample +- AssemblyName: Assembly-CSharp + ClassName: Dreamteck.Splines.TransformModule - AssemblyName: Sirenix.Serialization ClassName: Sirenix.Serialization.SerializationData Assets: @@ -61,6 +81,7 @@ Assets: - Assets/ThemeBundles/Basic/Prefabs/Cylinder.prefab - Assets/ThemeBundles/Basic/Prefabs/Circle2D.prefab - Assets/ThemeBundles/Basic/Prefabs/Hexagon2D.prefab +- Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab - Assets/ThemeBundles/Basic/Prefabs/IsometricDiamond2D.prefab - Assets/ThemeBundles/Basic/Prefabs/EmptyObject.prefab - Assets/ThemeBundles/Basic/Prefabs/Capsule2D.prefab @@ -71,5 +92,6 @@ Assets: - Assets/ThemeBundles/Basic/Prefabs/BasicNoteTap3D.prefab - Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStatic.prefab - Assets/ThemeBundles/Basic/Prefabs/DirectionalLight.prefab +- Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab - Assets/ThemeBundles/Basic/Prefabs/PointLight.prefab Dependencies: [] diff --git a/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse b/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse index b97e8523..5edb0e0d 100644 Binary files a/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse and b/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse differ diff --git a/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse.manifest b/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse.manifest index 33940871..347fdad9 100644 --- a/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse.manifest +++ b/Assets/StreamingAssets/ThemeBundles/OSX/departure_to_multiverse.manifest @@ -1,15 +1,15 @@ ManifestFileVersion: 0 -CRC: 3386136129 +CRC: 1445026430 Hashes: AssetFileHash: serializedVersion: 2 - Hash: 396335d33f64beeae00ad8b064156c60 + Hash: 1995f153be884a23fce3b33863331ee6 TypeTreeHash: serializedVersion: 2 Hash: 7c8fba77ff779a35ad42450f8316ace8 IncrementalBuildHash: serializedVersion: 2 - Hash: 396335d33f64beeae00ad8b064156c60 + Hash: 1995f153be884a23fce3b33863331ee6 HashAppended: 0 ClassTypes: - Class: 1 diff --git a/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab new file mode 100644 index 00000000..3b43be2f --- /dev/null +++ b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab @@ -0,0 +1,749 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4718363974630876385 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6133423928317663284} + - component: {fileID: 4419373029870813976} + - component: {fileID: 466442562606768818} + - component: {fileID: 1090375219705033731} + m_Layer: 0 + m_Name: Strip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6133423928317663284 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4718363974630876385} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2236104322558172231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4419373029870813976 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4718363974630876385} + m_Mesh: {fileID: 0} +--- !u!23 &466442562606768818 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4718363974630876385} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2424431729f1047c4b42f971c2cdd2b6, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &1090375219705033731 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4718363974630876385} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2e1690bb01d509a439fc991a10f8278f, type: 3} + m_Name: + m_EditorClassIdentifier: + updateMethod: 0 + _spline: {fileID: 0} + _autoUpdate: 1 + _rotationModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _offsetModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _colorModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _sizeModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _clipFromSample: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: 0} + forward: {x: 0, y: 0, z: 0} + color: {r: 0, g: 0, b: 0, a: 0} + size: 0 + percent: 0 + _clipToSample: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: 0} + forward: {x: 0, y: 0, z: 0} + color: {r: 0, g: 0, b: 0, a: 0} + size: 0 + percent: 0 + _loopSamples: 0 + _clipFrom: 0 + _clipTo: 1 + animClipFrom: 0 + animClipTo: 1 + multithreaded: 0 + buildOnAwake: 1 + buildOnEnable: 0 + _baked: 0 + _markDynamic: 1 + _size: 1 + _color: {r: 1, g: 1, b: 1, a: 1} + _offset: {x: 0, y: 0, z: 0} + _normalMethod: 1 + _calculateTangents: 1 + _useSplineSize: 1 + _useSplineColor: 1 + _rotation: 0 + _flipFaces: 0 + _doubleSided: 0 + _uvMode: 0 + _uvScale: {x: 1, y: 1} + _uvOffset: {x: 0, y: 0} + _uvRotation: 0 + _meshIndexFormat: 0 + _bakedMesh: {fileID: 0} + colliderUpdateRate: 0.2 + _slices: 1 + _compensateCorners: 0 + _useShapeCurve: 0 + _shape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _lastShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _shapeExposure: 1 +--- !u!1 &6759562726529963496 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8577101396104971865} + - component: {fileID: 1652441339443578052} + m_Layer: 0 + m_Name: JudgeEffect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8577101396104971865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6759562726529963496} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 4303129164719886000} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1652441339443578052 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6759562726529963496} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 0ab11be59df835d4099df401d7420c44, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 1 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &6971801465093075595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6151001625554078598} + - component: {fileID: 9089737222488076669} + - component: {fileID: 1773068845366186070} + - component: {fileID: 6156702432362452020} + m_Layer: 0 + m_Name: Tail + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6151001625554078598 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2236104322558172231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9089737222488076669 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1773068845366186070 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b39306d2c39754d0aafabe8570b8e640, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &6156702432362452020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0def5156137c6d14082064fa7b5d5247, type: 3} + m_Name: + m_EditorClassIdentifier: + updateMethod: 0 + _spline: {fileID: 0} + _autoUpdate: 1 + _rotationModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _offsetModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _colorModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _sizeModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _clipFromSample: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _clipToSample: + position: {x: 10, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: -0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 1 + _loopSamples: 0 + _clipFrom: 0 + _clipTo: 1 + animClipFrom: 0 + animClipTo: 1 + multithreaded: 0 + buildOnAwake: 1 + buildOnEnable: 0 + applyDirectionRotation: 1 + useTriggers: 0 + triggerGroup: 0 + _direction: 1 + _dontLerpDirection: 0 + _physicsMode: 0 + _motion: + _hasOffset: 0 + _hasRotationOffset: 0 + _offset: {x: 0, y: 0} + _rotationOffset: {x: 0, y: 0, z: 0} + _baseScale: {x: 1, y: 1, z: 1} + _2dMode: 0 + velocityHandleMode: 0 + applyPositionX: 1 + applyPositionY: 1 + applyPositionZ: 1 + applyPosition2D: 1 + retainLocalPosition: 0 + direction: 1 + applyRotationX: 1 + applyRotationY: 1 + applyRotationZ: 1 + applyRotation2D: 1 + retainLocalRotation: 0 + applyScaleX: 0 + applyScaleY: 0 + applyScaleZ: 0 + targetUser: {fileID: 6156702432362452020} + targetRigidbody: {fileID: 0} + targetRigidbody2D: {fileID: 0} + targetTransform: {fileID: 6151001625554078598} + _result: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _targetObject: {fileID: 0} + _followTarget: {fileID: 0} + _followTargetDistance: 0 + _followLoop: 0 + _followTargetDirection: -1 + _position: 0 + _mode: 0 +--- !u!1 &7060303612444197885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 716383935833082429} + - component: {fileID: 6523011263434424233} + - component: {fileID: 561382234009730444} + - component: {fileID: 487969501831859198} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &716383935833082429 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2236104322558172231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6523011263434424233 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &561382234009730444 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b39306d2c39754d0aafabe8570b8e640, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &487969501831859198 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0def5156137c6d14082064fa7b5d5247, type: 3} + m_Name: + m_EditorClassIdentifier: + updateMethod: 0 + _spline: {fileID: 0} + _autoUpdate: 1 + _rotationModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _offsetModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _colorModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _sizeModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _clipFromSample: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _clipToSample: + position: {x: 10, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: -0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 1 + _loopSamples: 0 + _clipFrom: 0 + _clipTo: 1 + animClipFrom: 0 + animClipTo: 1 + multithreaded: 0 + buildOnAwake: 1 + buildOnEnable: 0 + applyDirectionRotation: 1 + useTriggers: 0 + triggerGroup: 0 + _direction: 1 + _dontLerpDirection: 0 + _physicsMode: 0 + _motion: + _hasOffset: 0 + _hasRotationOffset: 0 + _offset: {x: 0, y: 0} + _rotationOffset: {x: 0, y: 0, z: 0} + _baseScale: {x: 1, y: 1, z: 1} + _2dMode: 0 + velocityHandleMode: 0 + applyPositionX: 1 + applyPositionY: 1 + applyPositionZ: 1 + applyPosition2D: 1 + retainLocalPosition: 0 + direction: 1 + applyRotationX: 1 + applyRotationY: 1 + applyRotationZ: 1 + applyRotation2D: 1 + retainLocalRotation: 0 + applyScaleX: 0 + applyScaleY: 0 + applyScaleZ: 0 + targetUser: {fileID: 487969501831859198} + targetRigidbody: {fileID: 0} + targetRigidbody2D: {fileID: 0} + targetTransform: {fileID: 716383935833082429} + _result: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _targetObject: {fileID: 0} + _followTarget: {fileID: 0} + _followTargetDistance: 0 + _followLoop: 0 + _followTargetDirection: -1 + _position: 0 + _mode: 0 +--- !u!1 &7418166426351319151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2236104322558172231} + m_Layer: 0 + m_Name: Hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2236104322558172231 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7418166426351319151} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 716383935833082429} + - {fileID: 6133423928317663284} + - {fileID: 6151001625554078598} + m_Father: {fileID: 4303129164719886000} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8969796646526822168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4303129164719886000} + - component: {fileID: 1017732945410167678} + m_Layer: 0 + m_Name: BasicNoteHoldStrip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4303129164719886000 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8969796646526822168} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2236104322558172231} + - {fileID: 8577101396104971865} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1017732945410167678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8969796646526822168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d94f163ef3d384b7eac5af0a344d786d, type: 3} + m_Name: + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: elementGuid + Entry: 2 + Data: 00000000000000000000000000000000 + - Name: submoduleList + Entry: 7 + Data: 0|System.Collections.Generic.List`1[[Ichni.RhythmGame.SubmoduleBase, + Assembly-CSharp]], mscorlib + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + elementName: + tags: [] + parentElement: {fileID: 0} + connectedTab: {fileID: 0} + childElementList: [] + themeBundleName: + objectName: + note: {fileID: 0} + noteMain: {fileID: 7060303612444197885} + judgeEffect: {fileID: 6759562726529963496} + notePartList: + - {fileID: 7060303612444197885} + - {fileID: 4718363974630876385} + - {fileID: 6971801465093075595} + effectPartList: + - {fileID: 6759562726529963496} + hold: {fileID: 0} + meshGenerator: {fileID: 1090375219705033731} + headPoint: {fileID: 487969501831859198} + tailPoint: {fileID: 6156702432362452020} diff --git a/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab.meta b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab.meta new file mode 100644 index 00000000..5382c2bf --- /dev/null +++ b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldStrip.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3d091aba4b9724546b7a98458e172fe2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: basic + assetBundleVariant: diff --git a/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab new file mode 100644 index 00000000..5341c6c4 --- /dev/null +++ b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab @@ -0,0 +1,739 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &963102079152663584 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6843667568682959283} + - component: {fileID: 8599098550281215569} + - component: {fileID: 2220589031961287304} + - component: {fileID: 6641325028710567983} + m_Layer: 0 + m_Name: Tube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6843667568682959283 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963102079152663584} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2236104322558172231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8599098550281215569 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963102079152663584} + m_Mesh: {fileID: 0} +--- !u!23 &2220589031961287304 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963102079152663584} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b39306d2c39754d0aafabe8570b8e640, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &6641325028710567983 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963102079152663584} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77ab80dc0820f9d4a8cd9fddbbc89057, type: 3} + m_Name: + m_EditorClassIdentifier: + updateMethod: 0 + _spline: {fileID: 0} + _autoUpdate: 1 + _rotationModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _offsetModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _colorModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _sizeModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _clipFromSample: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _clipToSample: + position: {x: 10, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: -0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 1 + _loopSamples: 0 + _clipFrom: 0 + _clipTo: 1 + animClipFrom: 0 + animClipTo: 1 + multithreaded: 0 + buildOnAwake: 1 + buildOnEnable: 0 + _baked: 0 + _markDynamic: 1 + _size: 1 + _color: {r: 1, g: 1, b: 1, a: 1} + _offset: {x: 0, y: 0, z: 0} + _normalMethod: 1 + _calculateTangents: 1 + _useSplineSize: 0 + _useSplineColor: 0 + _rotation: 45 + _flipFaces: 0 + _doubleSided: 0 + _uvMode: 0 + _uvScale: {x: 1, y: 1} + _uvOffset: {x: 0, y: 0} + _uvRotation: 0 + _meshIndexFormat: 0 + _bakedMesh: {fileID: 0} + colliderUpdateRate: 0.2 + _sides: 4 + _roundCapLatitude: 6 + _capMode: 1 + _revolve: 360 + _capUVScale: 1 + _uvTwist: 0 +--- !u!1 &6759562726529963496 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8577101396104971865} + - component: {fileID: 1652441339443578052} + m_Layer: 0 + m_Name: JudgeEffect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8577101396104971865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6759562726529963496} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 4303129164719886000} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1652441339443578052 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6759562726529963496} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 0ab11be59df835d4099df401d7420c44, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 1 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &6971801465093075595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6151001625554078598} + - component: {fileID: 9089737222488076669} + - component: {fileID: 1773068845366186070} + - component: {fileID: 6156702432362452020} + m_Layer: 0 + m_Name: Tail + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6151001625554078598 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2236104322558172231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9089737222488076669 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1773068845366186070 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b39306d2c39754d0aafabe8570b8e640, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &6156702432362452020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6971801465093075595} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0def5156137c6d14082064fa7b5d5247, type: 3} + m_Name: + m_EditorClassIdentifier: + updateMethod: 0 + _spline: {fileID: 0} + _autoUpdate: 1 + _rotationModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _offsetModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _colorModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _sizeModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _clipFromSample: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _clipToSample: + position: {x: 10, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: -0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 1 + _loopSamples: 0 + _clipFrom: 0 + _clipTo: 1 + animClipFrom: 0 + animClipTo: 1 + multithreaded: 0 + buildOnAwake: 1 + buildOnEnable: 0 + applyDirectionRotation: 1 + useTriggers: 0 + triggerGroup: 0 + _direction: 1 + _dontLerpDirection: 0 + _physicsMode: 0 + _motion: + _hasOffset: 0 + _hasRotationOffset: 0 + _offset: {x: 0, y: 0} + _rotationOffset: {x: 0, y: 0, z: 0} + _baseScale: {x: 1, y: 1, z: 1} + _2dMode: 0 + velocityHandleMode: 0 + applyPositionX: 1 + applyPositionY: 1 + applyPositionZ: 1 + applyPosition2D: 1 + retainLocalPosition: 0 + direction: 1 + applyRotationX: 1 + applyRotationY: 1 + applyRotationZ: 1 + applyRotation2D: 1 + retainLocalRotation: 0 + applyScaleX: 0 + applyScaleY: 0 + applyScaleZ: 0 + targetUser: {fileID: 6156702432362452020} + targetRigidbody: {fileID: 0} + targetRigidbody2D: {fileID: 0} + targetTransform: {fileID: 6151001625554078598} + _result: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _targetObject: {fileID: 0} + _followTarget: {fileID: 0} + _followTargetDistance: 0 + _followLoop: 0 + _followTargetDirection: -1 + _position: 0 + _mode: 0 +--- !u!1 &7060303612444197885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 716383935833082429} + - component: {fileID: 6523011263434424233} + - component: {fileID: 561382234009730444} + - component: {fileID: 487969501831859198} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &716383935833082429 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2236104322558172231} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6523011263434424233 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &561382234009730444 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b39306d2c39754d0aafabe8570b8e640, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &487969501831859198 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7060303612444197885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0def5156137c6d14082064fa7b5d5247, type: 3} + m_Name: + m_EditorClassIdentifier: + updateMethod: 0 + _spline: {fileID: 0} + _autoUpdate: 1 + _rotationModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _offsetModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _colorModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _sizeModifier: + blend: 1 + useClippedPercent: 0 + keys: [] + _clipFromSample: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _clipToSample: + position: {x: 10, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: -0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 1 + _loopSamples: 0 + _clipFrom: 0 + _clipTo: 1 + animClipFrom: 0 + animClipTo: 1 + multithreaded: 0 + buildOnAwake: 1 + buildOnEnable: 0 + applyDirectionRotation: 1 + useTriggers: 0 + triggerGroup: 0 + _direction: 1 + _dontLerpDirection: 0 + _physicsMode: 0 + _motion: + _hasOffset: 0 + _hasRotationOffset: 0 + _offset: {x: 0, y: 0} + _rotationOffset: {x: 0, y: 0, z: 0} + _baseScale: {x: 1, y: 1, z: 1} + _2dMode: 0 + velocityHandleMode: 0 + applyPositionX: 1 + applyPositionY: 1 + applyPositionZ: 1 + applyPosition2D: 1 + retainLocalPosition: 0 + direction: 1 + applyRotationX: 1 + applyRotationY: 1 + applyRotationZ: 1 + applyRotation2D: 1 + retainLocalRotation: 0 + applyScaleX: 0 + applyScaleY: 0 + applyScaleZ: 0 + targetUser: {fileID: 487969501831859198} + targetRigidbody: {fileID: 0} + targetRigidbody2D: {fileID: 0} + targetTransform: {fileID: 716383935833082429} + _result: + position: {x: 0, y: 0, z: 0} + up: {x: 0, y: 0, z: -1} + forward: {x: 0.9284767, y: 0.37139067, z: 0} + color: {r: 1, g: 1, b: 1, a: 1} + size: 1 + percent: 0 + _targetObject: {fileID: 0} + _followTarget: {fileID: 0} + _followTargetDistance: 0 + _followLoop: 0 + _followTargetDirection: -1 + _position: 0 + _mode: 0 +--- !u!1 &7418166426351319151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2236104322558172231} + m_Layer: 0 + m_Name: Hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2236104322558172231 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7418166426351319151} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 716383935833082429} + - {fileID: 6843667568682959283} + - {fileID: 6151001625554078598} + m_Father: {fileID: 4303129164719886000} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8969796646526822168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4303129164719886000} + - component: {fileID: 1017732945410167678} + m_Layer: 0 + m_Name: BasicNoteHoldTube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4303129164719886000 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8969796646526822168} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2236104322558172231} + - {fileID: 8577101396104971865} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1017732945410167678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8969796646526822168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d94f163ef3d384b7eac5af0a344d786d, type: 3} + m_Name: + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: elementGuid + Entry: 2 + Data: 00000000000000000000000000000000 + - Name: submoduleList + Entry: 7 + Data: 0|System.Collections.Generic.List`1[[Ichni.RhythmGame.SubmoduleBase, + Assembly-CSharp]], mscorlib + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + elementName: + tags: [] + parentElement: {fileID: 0} + connectedTab: {fileID: 0} + childElementList: [] + themeBundleName: + objectName: + note: {fileID: 0} + noteMain: {fileID: 7060303612444197885} + judgeEffect: {fileID: 6759562726529963496} + notePartList: + - {fileID: 7060303612444197885} + - {fileID: 963102079152663584} + - {fileID: 6971801465093075595} + effectPartList: + - {fileID: 6759562726529963496} + hold: {fileID: 0} + meshGenerator: {fileID: 6641325028710567983} + headPoint: {fileID: 487969501831859198} + tailPoint: {fileID: 6156702432362452020} diff --git a/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab.meta b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab.meta new file mode 100644 index 00000000..27c26b8c --- /dev/null +++ b/Assets/ThemeBundles/Basic/Prefabs/BasicNoteHoldTube.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 92d2a5934e36a44e1b65965ce64aab7f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: basic + assetBundleVariant: diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMesh.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMesh.cs new file mode 100644 index 00000000..8e2243fc --- /dev/null +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMesh.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Dreamteck.Splines; +using Ichni.RhythmGame.Beatmap; +using Ichni.RhythmGame.ThemeBundles.Basic.Beatmap; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Ichni.RhythmGame.ThemeBundles.Basic +{ + public partial class BasicHoldVisualMesh : NoteVisualBaseHold + { + public MeshGenerator meshGenerator; + public SplinePositioner headPoint, tailPoint; + + public static BasicHoldVisualMesh GenerateElement(string elementName, Guid id, List tags, + bool isFirstGenerated, GameElement parentElement, string themeBundleName, string objectName) + { + BasicHoldVisualMesh holdVisualMesh = SubstantialObject.GenerateElement(elementName, id, tags, + isFirstGenerated, themeBundleName, objectName, parentElement).GetComponent(); + + return holdVisualMesh; + } + + public override void FirstSetUpObject(bool isFirstGenerated) + { + NoteBase note = parentElement as NoteBase; + if(note == null) throw new System.Exception("NoteVisual只能生成在Note下。"); + if(!note.isOnTrack) throw new System.Exception("这种HoldNoteVisual只能生成在Track上。"); + + this.note = note; + note.noteVisual = this; + this.hold = note as Hold; + this.headPoint = notePartList[0].GetComponent(); + this.meshGenerator = notePartList[1].GetComponent(); + this.tailPoint = notePartList[2].GetComponent(); + + headPoint.spline = hold.track.trackPathSubmodule.path; + meshGenerator.spline = hold.track.trackPathSubmodule.path; + tailPoint.spline = hold.track.trackPathSubmodule.path; + + TrackTimeSubmoduleMovable trackTimeSubmoduleMovable = hold.track.trackTimeSubmodule as TrackTimeSubmoduleMovable; + float startPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.exactJudgeTime); + float endPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.holdEndTime); + + hold.trackPositioner.SetPercent(startPercent); + meshGenerator.SetClipRange(startPercent, endPercent); + headPoint.SetPercent(startPercent); + tailPoint.SetPercent(endPercent); + + if (isFirstGenerated) + { + effectSubmodule.effectCollection["Generate"].Add(new BasicNoteGenerateExpand(this)); + //effectSubmodule.effectCollection["Holding"].Add(new BasicNoteHoldingExpand(this)); + effectSubmodule.effectCollection["Perfect"].Add(new BasicNotePerfectBurst(this)); + effectSubmodule.effectCollection["Good"].Add(new BasicNoteGoodBurst(this)); + effectSubmodule.effectCollection["Bad"].Add(new BasicNoteBadShrink(this)); + effectSubmodule.effectCollection["Miss"].Add(new BasicNoteMissPale(this)); + } + } + } + + public partial class BasicHoldVisualMesh + { + public override void SaveBM() + { + matchedBM = new BasicHoldVisualTube_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM, themeBundleName, objectName); + } + + public override void UpdateHoldInMovableTrack() + { + TrackTimeSubmoduleMovable trackTimeSubmoduleMovable = hold.track.trackTimeSubmodule as TrackTimeSubmoduleMovable; + float startPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.exactJudgeTime); + float endPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.holdEndTime); + + if (hold.isHolding) + { + startPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.exactJudgeTime + hold.holdingTime); + endPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.holdEndTime); + } + else if (hold.isFinalJudged) + { + startPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.holdEndTime); + endPercent = trackTimeSubmoduleMovable.GetTrackPercent(hold.holdEndTime); + } + + hold.trackPositioner.SetPercent(startPercent); + meshGenerator.SetClipRange(startPercent, endPercent); + headPoint.SetPercent(startPercent); + tailPoint.SetPercent(endPercent); + } + } + + namespace Beatmap + { + public class BasicHoldVisualTube_BM : SubstantialObject_BM + { + public BasicHoldVisualTube_BM() + { + + } + + public BasicHoldVisualTube_BM(string elementName, Guid id, List tags, + GameElement_BM parent, string themeBundleName, string objectName) : + base(elementName, id, tags, parent, themeBundleName, objectName) + { + + } + + public override void ExecuteBM() + { + matchedElement = BasicHoldVisualMesh.GenerateElement(elementName, elementGuid, tags, false, + GetElement(attachedElementGuid), themeBundleName, objectName); + } + + public override GameElement DuplicateBM(GameElement parent) + { + return BasicHoldVisualMesh.GenerateElement(elementName, Guid.NewGuid(), tags, false, parent, themeBundleName, objectName); + } + } + } +} \ No newline at end of file diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMesh.cs.meta b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMesh.cs.meta new file mode 100644 index 00000000..730ba0fd --- /dev/null +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMesh.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d94f163ef3d384b7eac5af0a344d786d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMovable.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMovable.cs index fc8e1a30..abebd3c4 100644 --- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMovable.cs +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicHoldVisualMovable.cs @@ -48,7 +48,8 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic { if (hold.isHolding) { - float percent = (hold.track.trackTimeSubmodule as TrackTimeSubmoduleMovable).GetTrackPercent(hold.exactJudgeTime + hold.holdingTime); + TrackTimeSubmoduleMovable trackTimeSubmoduleMovable = hold.track.trackTimeSubmodule as TrackTimeSubmoduleMovable; + float percent = trackTimeSubmoduleMovable.GetTrackPercent(hold.exactJudgeTime + hold.holdingTime); hold.trackPositioner.SetPercent(percent); } } diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadShrink.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadShrink.cs index 2c673267..373ec085 100644 --- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadShrink.cs +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadShrink.cs @@ -24,12 +24,27 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic noteVisual.noteMain.SetActive(true); noteVisual.noteMain.transform.localScale = Vector3.one; noteMainRenderer.material.SetColor("_BaseColor", Color.white); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(true); + holdVisualMesh.notePartList[2].SetActive(true); + } } public override void Adjust() { noteMainRenderer.material.DOColor(Color.clear, effectTime).SetEase(Ease.OutQuad); - noteVisual.noteMain.transform.DOScale(Vector3.zero, effectTime).SetEase(Ease.OutQuad).OnComplete(() => noteVisual.noteMain.SetActive(false)); + noteVisual.noteMain.transform.DOScale(Vector3.zero, effectTime).SetEase(Ease.OutQuad).OnComplete(() => + { + noteVisual.noteMain.SetActive(false); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(false); + holdVisualMesh.notePartList[2].SetActive(false); + } + }); } public override EffectBase_BM ConvertToBM() diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs index 8ec46286..ae2df3e9 100644 --- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGenerateExpand.cs @@ -2,6 +2,7 @@ using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; +using Dreamteck.Splines; using Ichni.Editor; using Ichni.RhythmGame; using Ichni.RhythmGame.Beatmap; @@ -24,12 +25,29 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic { noteVisual.noteMain.SetActive(false); noteVisual.noteMain.transform.localScale = Vector3.zero; + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(false); + holdVisualMesh.notePartList[1].GetComponent().size = 0; + holdVisualMesh.notePartList[2].SetActive(false); + holdVisualMesh.notePartList[2].transform.localScale = Vector3.zero; + } } public override void Adjust() { noteVisual.noteMain.SetActive(true); noteVisual.noteMain.transform.DOScale(Vector3.one, effectTime).SetEase(Ease.OutBack); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(true); + MeshGenerator meshGenerator = holdVisualMesh.notePartList[1].GetComponent(); + DOTween.To(() => meshGenerator.size, x => meshGenerator.size = x, 1, effectTime).SetEase(Ease.OutBack); + holdVisualMesh.notePartList[2].SetActive(true); + holdVisualMesh.notePartList[2].transform.DOScale(Vector3.one, effectTime).SetEase(Ease.OutBack); + } } public override EffectBase_BM ConvertToBM() diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs index 17b889b2..ef3caf59 100644 --- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteGoodBurst.cs @@ -27,6 +27,12 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic effectRing.transform.localScale = Vector3.zero; effectRing.GetComponent().color = Color.white; noteVisual.noteMain.SetActive(true); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(true); + holdVisualMesh.notePartList[2].SetActive(true); + } } public override void Adjust() @@ -35,6 +41,12 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic effectRing.transform.DOScale(Vector3.one * 0.5f, effectTime).SetEase(Ease.OutQuad); effectRing.GetComponent().DOFade(0, effectTime).SetEase(Ease.OutQuad).OnComplete(() => effectRing.SetActive(false)); noteVisual.noteMain.SetActive(false); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(false); + holdVisualMesh.notePartList[2].SetActive(false); + } } public override EffectBase_BM ConvertToBM() diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs index ad09e0e7..0f2cd02b 100644 --- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteMissPale.cs @@ -24,13 +24,27 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic { noteVisual.noteMain.SetActive(true); noteMainRenderer.material.SetColor("_BaseColor", Color.white); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(true); + holdVisualMesh.notePartList[2].SetActive(true); + } } public override void Adjust() { - noteVisual.noteMain.SetActive(true); noteMainRenderer.material.SetColor("_BaseColor", Color.white / 2f); - noteMainRenderer.material.DOColor(Color.clear, effectTime).SetEase(Ease.OutQuad); + noteMainRenderer.material.DOColor(Color.clear, effectTime).SetEase(Ease.OutQuad).OnComplete(() => + { + noteVisual.noteMain.SetActive(false); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(false); + holdVisualMesh.notePartList[2].SetActive(false); + } + }); } public override EffectBase_BM ConvertToBM() diff --git a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs index ccfa3bee..9a36922b 100644 --- a/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs +++ b/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNotePerfectBurst.cs @@ -27,6 +27,12 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic effectRing.transform.localScale = Vector3.zero; effectRing.GetComponent().color = Color.white; noteVisual.noteMain.SetActive(true); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(true); + holdVisualMesh.notePartList[2].SetActive(true); + } } public override void Adjust() @@ -35,6 +41,12 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic effectRing.transform.DOScale(Vector3.one, effectTime).SetEase(Ease.OutQuad); effectRing.GetComponent().DOFade(0, effectTime).SetEase(Ease.OutQuad).OnComplete(() => effectRing.SetActive(false)); noteVisual.noteMain.SetActive(false); + + if (noteVisual is BasicHoldVisualMesh holdVisualMesh) + { + holdVisualMesh.notePartList[1].SetActive(false); + holdVisualMesh.notePartList[2].SetActive(false); + } } public override EffectBase_BM ConvertToBM()