diff --git a/Assets/000_assets/material/M_SquareFrame 1.mat b/Assets/000_assets/material/M_SquareFrame 1.mat index cda12869..4a755aa7 100644 --- a/Assets/000_assets/material/M_SquareFrame 1.mat +++ b/Assets/000_assets/material/M_SquareFrame 1.mat @@ -213,7 +213,7 @@ Material: - _Dst: 10 - _DstBlend: 0 - _DstBlendAlpha: 0 - - _EdgeValue: 0.49106154 + - _EdgeValue: 0.9525006 - _EnvironmentReflections: 1 - _FNLfanxiangkaiguan: 0 - _Face: 1 @@ -258,7 +258,7 @@ Material: - _Mask_scale: 1 - _Metallic: 0 - _OcclusionStrength: 1 - - _Opacity: 0.50893843 + - _Opacity: 0.04749942 - _Parallax: 0.005 - _Pass: 0 - _QueueOffset: 0 diff --git a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/Beatmap.bytes b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/Beatmap.bytes index a66cd702..8b7f4420 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/Beatmap.bytes and b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/Beatmap.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/CommandScripts.bytes b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/CommandScripts.bytes index d2f59cf9..558e43f7 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/CommandScripts.bytes and b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/CommandScripts.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/ProjectInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/ProjectInfo.bytes index a009475e..0ec0d428 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/ProjectInfo.bytes and b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/ProjectInfo.bytes differ diff --git a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/SongInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/SongInfo.bytes index 909c9aa4..f9686f63 100644 Binary files a/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/SongInfo.bytes and b/Assets/Resources/Beatmaps/Chapter0/Chapter 0 Tutorial/Easy/SongInfo.bytes differ diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity index 19a15831..dac9062c 100644 --- a/Assets/Scenes/GameScene.unity +++ b/Assets/Scenes/GameScene.unity @@ -3002,143 +3002,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 340068461} m_CullTransparentMesh: 1 ---- !u!1 &342052442 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 342052446} - - component: {fileID: 342052445} - - component: {fileID: 342052444} - - component: {fileID: 342052443} - m_Layer: 0 - m_Name: Camera - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &342052443 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 342052442} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_Version: 2 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 ---- !u!81 &342052444 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 342052442} - m_Enabled: 1 ---- !u!20 &342052445 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 342052442} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &342052446 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 342052442} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -3.4338784, y: -0.18502262, z: 310.91315} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &354327107 GameObject: m_ObjectHideFlags: 0 @@ -19924,4 +19787,3 @@ SceneRoots: - {fileID: 1806683416} - {fileID: 759709588} - {fileID: 570979741} - - {fileID: 342052446} diff --git a/Assets/Scenes/MenuScene.unity b/Assets/Scenes/MenuScene.unity index fb117bdf..cec1207f 100644 --- a/Assets/Scenes/MenuScene.unity +++ b/Assets/Scenes/MenuScene.unity @@ -2517,7 +2517,7 @@ MonoBehaviour: m_text: Back m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} - m_sharedMaterial: {fileID: -5812992765432063453, guid: 19a92ec938f7b364dad1975875f9fe3a, + m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} @@ -2581,7 +2581,7 @@ MonoBehaviour: m_margin: {x: 0, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_hasFontAssetChanged: 1 + m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!222 &272824273 @@ -12057,7 +12057,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1119493264 RectTransform: m_ObjectHideFlags: 0 @@ -12977,6 +12977,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: isReturnedFromGame: 0 + isReturnedFromTutorial: 0 chapter: {fileID: 0} song: songName: @@ -13053,7 +13054,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1211674714 RectTransform: m_ObjectHideFlags: 0 @@ -13185,7 +13186,7 @@ CanvasGroup: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1211674713} m_Enabled: 1 - m_Alpha: 1 + m_Alpha: 0 m_Interactable: 1 m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 diff --git a/Assets/Scripts/Game/Base/GeneralSubmodules/TimeDurationSubmodule.cs b/Assets/Scripts/Game/Base/GeneralSubmodules/TimeDurationSubmodule.cs index 61f9fc72..df68ae2f 100644 --- a/Assets/Scripts/Game/Base/GeneralSubmodules/TimeDurationSubmodule.cs +++ b/Assets/Scripts/Game/Base/GeneralSubmodules/TimeDurationSubmodule.cs @@ -119,7 +119,7 @@ namespace Ichni.RhythmGame attachedGameElement.gameObject.SetActive(false); disableAction?.Invoke(); } - }); + }).AddTo(attachedGameElement); } } diff --git a/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Flick.cs b/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Flick.cs index 105ccf34..0fe0a27f 100644 --- a/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Flick.cs +++ b/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Flick.cs @@ -25,7 +25,7 @@ namespace Ichni.RhythmGame flick.Initialize(elementName, id, tags, isFirstGenerated, parentElement); flick.exactJudgeTime = exactJudgeTime; - flick.availableFlickDirections = new List() { Vector2.left, Vector2.right }; + //flick.availableFlickDirections = new List() { Vector2.left, Vector2.right }; flick.judgeIntervals = new NoteJudgeIntervals( new TimeInterval(-0.15f, -0.15f), new TimeInterval(-0.15f, -0.15f), new TimeInterval(-0.15f, -0.15f), new TimeInterval(-0.15f, 0.15f), @@ -85,11 +85,7 @@ namespace Ichni.RhythmGame float timeDifference = triggerTime - exactJudgeTime; NoteJudgeType startJudgeType = GetStartJudgeType(timeDifference); - - if (startJudgeType != NoteJudgeType.Perfect) - { - return; - } + RemoveFromCheckingList(); preJudgeType = startJudgeType; @@ -127,6 +123,42 @@ namespace Ichni.RhythmGame isFinalJudged = true; } } + + public void ExecuteTapJudge() + { + RemoveFromCheckingList(); + + float triggerTime = GameManager.instance.songTime; + float timeDifference = triggerTime - exactJudgeTime; + + NoteJudgeType startJudgeType = GetStartJudgeType(timeDifference); + + if (startJudgeType == NoteJudgeType.Perfect) + { + Perfect(triggerTime); + GameManager.instance.playingRecorder.resultData.Add(0); + } + else if (startJudgeType == NoteJudgeType.Good) + { + Good(triggerTime); + } + else if (startJudgeType == NoteJudgeType.Bad) + { + Bad(triggerTime); + } + else if (startJudgeType == NoteJudgeType.Miss) + { + Miss(triggerTime); + } + + if (startJudgeType != NoteJudgeType.Miss) + { + noteAudioSubmodule.PlayGeneralJudgeAudios(); + } + + isFirstJudged = true; + isFinalJudged = true; + } } public partial class Flick diff --git a/Assets/Scripts/Manager/GameInputManager.cs b/Assets/Scripts/Manager/GameInputManager.cs index e11e6210..c106602b 100644 --- a/Assets/Scripts/Manager/GameInputManager.cs +++ b/Assets/Scripts/Manager/GameInputManager.cs @@ -127,10 +127,6 @@ public class GameInputManager : MonoBehaviour GameManager.instance.noteJudgeManager.SetNewInputUnitSwipe(id, position, isGeneric, isFirst, direction); } - - // ===================================================================== - // 核心处理逻辑 (Core Processing Logic) - // ===================================================================== #if UNITY_STANDALONE /// @@ -315,7 +311,7 @@ public class GameInputManager : MonoBehaviour if (holdingSwipe0) { Vector2 inputPosition = new Vector2(Screen.width * 0.5f, 200f); - OnSwipe(0, inputPosition, true, Vector2.zero); + OnSwipe(0, inputPosition, true, false, Vector2.zero); } } #endif @@ -362,8 +358,7 @@ public class GameInputManager : MonoBehaviour if (_activeTouches.TryGetValue(touchId, out TouchState movedState)) { OnTouch(touchId, position); - DetectSwipe(movedState, _activeTouches[touchId].isFirstSwipe, position); - //_activeTouches[touchId].isFirstSwipe = false; + DetectSwipe(movedState, position); } break; @@ -401,7 +396,7 @@ public class GameInputManager : MonoBehaviour /// /// 检测划动逻辑 (无需修改) /// - private void DetectSwipe(TouchState state, bool isFirst, Vector2 currentPosition) + private void DetectSwipe(TouchState state, Vector2 currentPosition) { Vector2 swipeVector = currentPosition - state.StartPosition; if (swipeVector.magnitude < minSwipeDistance) return; @@ -411,10 +406,11 @@ public class GameInputManager : MonoBehaviour // 检查是否是新的划动方向 if (Vector2.Dot(direction, state.LastSwipeDirection) <= swipeAngleThreshold) { - OnSwipe(state.TouchId, state.StartPosition, false, isFirst, direction); + OnSwipe(state.TouchId, state.StartPosition, false, state.isFirstSwipe, direction); state.LastSwipeDirection = direction; state.StartPosition = currentPosition; state.StartTime = Time.time; + state.isFirstSwipe = false; } } diff --git a/Assets/Scripts/Manager/GameManager.cs b/Assets/Scripts/Manager/GameManager.cs index 7b35430a..42ccc715 100644 --- a/Assets/Scripts/Manager/GameManager.cs +++ b/Assets/Scripts/Manager/GameManager.cs @@ -74,7 +74,7 @@ namespace Ichni public static void ReturnToMenu() { - InformationTransistor.instance.isReturnedFromGame = true; + //InformationTransistor.instance.isReturnedFromGame = true; SceneManager.LoadScene("MenuScene"); Time.timeScale = 1f; // 确保返回时时间缩放恢复正常 } diff --git a/Assets/Scripts/Manager/NoteJudgeManager.cs b/Assets/Scripts/Manager/NoteJudgeManager.cs index 17d917ac..561b745c 100644 --- a/Assets/Scripts/Manager/NoteJudgeManager.cs +++ b/Assets/Scripts/Manager/NoteJudgeManager.cs @@ -36,6 +36,9 @@ namespace Ichni return; } + List tapSwipeList = inputUnitSwipeList.Where(x => x.isFirst).ToList(); + List holdSwipeList = inputUnitSwipeList.Where(x => !x.isFirst).ToList(); + foreach (InputUnitTap inputUnitTap in inputUnitTapList) { List availableTaps = new List(); @@ -61,8 +64,8 @@ namespace Ichni if (haveHold && haveTap) { - List minHolds = GetAllMinHolds(availableHolds); - List minTaps = GetAllMinTaps(availableTaps); + List minHolds = GetAllMinNotes(availableHolds); + List minTaps = GetAllMinNotes(availableTaps); Hold closestHold = minHolds[0]; Tap closestTap = minTaps[0]; if (closestHold.exactJudgeTime < closestTap.exactJudgeTime) @@ -73,7 +76,7 @@ namespace Ichni } else { - GetNearestHold(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); + GetNearestNote(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); } } else @@ -84,40 +87,64 @@ namespace Ichni } else { - GetNearestTap(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); + GetNearestNote(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); } } } else if (haveHold) { - List minHolds = GetAllMinHolds(availableHolds); + List minHolds = GetAllMinNotes(availableHolds); if (minHolds.Count == 1) { minHolds[0].ExecuteStartJudge(); } else { - GetNearestHold(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); + GetNearestNote(minHolds, inputUnitTap.inputPosition).ExecuteStartJudge(); } } else if (haveTap) { - List minTaps = GetAllMinTaps(availableTaps); + List minTaps = GetAllMinNotes(availableTaps); if (minTaps.Count == 1) { minTaps[0].ExecuteStartJudge(); } else { - GetNearestTap(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); + GetNearestNote(minTaps, inputUnitTap.inputPosition).ExecuteStartJudge(); } } } - foreach (InputUnitSwipe inputUnitSwipe in inputUnitSwipeList) + foreach (InputUnitSwipe tapSwipe in tapSwipeList) { List availableFlicks = new List(); + + foreach (Flick flick in checkingFlickList) + { + if (flick.CheckJudgeAvailability(tapSwipe)) + { + availableFlicks.Add(flick); + } + } + + List minFlicks = GetAllMinNotes(availableFlicks); + + if (minFlicks.Count == 1) + { + minFlicks[0].ExecuteStartJudge(); + } + else if (minFlicks.Count > 1) + { + GetNearestNote(minFlicks, tapSwipe.inputPosition).ExecuteTapJudge(); + } + } + foreach (InputUnitSwipe inputUnitSwipe in holdSwipeList) + { + List availableFlicks = new List(); + foreach (Flick flick in checkingFlickList) { if (flick.CheckJudgeAvailability(inputUnitSwipe)) @@ -200,69 +227,31 @@ namespace Ichni public partial class NoteJudgeManager { - private List GetAllMinTaps(List availableTaps) + private List GetAllMinNotes(List availableFlicks) where T : NoteBase { - List minTaps = new List(); + List minFlicks = new List(); float minTime = float.MaxValue; - foreach (Tap tap in availableTaps) + foreach (T flick in availableFlicks) { - if (tap.exactJudgeTime < minTime) + if (flick.exactJudgeTime < minTime) { - minTime = tap.exactJudgeTime; - minTaps.Clear(); - minTaps.Add(tap); + minTime = flick.exactJudgeTime; + minFlicks.Clear(); + minFlicks.Add(flick); } - else if (Mathf.Approximately(tap.exactJudgeTime, minTime)) + else if (Mathf.Approximately(flick.exactJudgeTime, minTime)) { - minTaps.Add(tap); + minFlicks.Add(flick); } } - - return minTaps; + return minFlicks; } - private List GetAllMinHolds(List availableHolds) - { - List minHolds = new List(); - float minTime = float.MaxValue; - foreach (Hold hold in availableHolds) - { - if (hold.exactJudgeTime < minTime) - { - minTime = hold.exactJudgeTime; - minHolds.Clear(); - minHolds.Add(hold); - } - else if (Mathf.Approximately(hold.exactJudgeTime, minTime)) - { - minHolds.Add(hold); - } - } - return minHolds; - } - - private Tap GetNearestTap(List notes, Vector2 inputPosition) + private T GetNearestNote(List notes, Vector2 inputPosition) where T : NoteBase { float minDistance = float.MaxValue; - Tap closestNote = null; - foreach (Tap note in notes) - { - float distance = Vector2.Distance(inputPosition, note.noteScreenPosition); - if (distance < minDistance) - { - minDistance = distance; - closestNote = note; - } - } - - return closestNote; - } - - private Hold GetNearestHold(List notes, Vector2 inputPosition) - { - float minDistance = float.MaxValue; - Hold closestNote = null; - foreach (Hold note in notes) + T closestNote = null; + foreach (T note in notes) { float distance = Vector2.Distance(inputPosition, note.noteScreenPosition); if (distance < minDistance) diff --git a/Assets/Scripts/Menu/InformationTransistor.cs b/Assets/Scripts/Menu/InformationTransistor.cs index 6f38a9a9..cd61b8b2 100644 --- a/Assets/Scripts/Menu/InformationTransistor.cs +++ b/Assets/Scripts/Menu/InformationTransistor.cs @@ -12,6 +12,7 @@ namespace Ichni public static InformationTransistor instance; public bool isReturnedFromGame; + public bool isReturnedFromTutorial; public ChapterSelectionUnit chapter; public SongItemData song; @@ -30,6 +31,7 @@ namespace Ichni instance = this; DontDestroyOnLoad(gameObject); isReturnedFromGame = false; + isReturnedFromTutorial = false; } else { diff --git a/Assets/Scripts/Menu/MenuManager.cs b/Assets/Scripts/Menu/MenuManager.cs index 656ea791..36c17292 100644 --- a/Assets/Scripts/Menu/MenuManager.cs +++ b/Assets/Scripts/Menu/MenuManager.cs @@ -54,6 +54,13 @@ namespace Ichni new SongSelectionRecord(InformationTransistor.instance.song, InformationTransistor.instance.difficulty)); songSelectionUIPage.FadeIn(); } + else if (InformationTransistor.instance.isReturnedFromTutorial) + { + startUIPage.mainCanvasGroup.gameObject.SetActive(false); + ChapterSelectionManager.instance.currentChapter = InformationTransistor.instance.chapter; + MenuAudioManager.instance.audioContainer.SetSwitch(ChapterSelectionManager.instance.currentChapter.chapterSwitch); + storyUIPage.FadeIn(); + } Application.targetFrameRate = SettingsManager.instance.gameSettings.targetFrame; asyncOperation = SceneManager.LoadSceneAsync("GameScene"); @@ -63,7 +70,14 @@ namespace Ichni public partial class MenuManager { - public void TestEnterGame() + public void EnterGame() + { + InformationTransistor.instance.isReturnedFromTutorial = false; + InformationTransistor.instance.isReturnedFromGame = true; + EnterGameScene(); + } + + public void EnterGameScene() { MenuInputManager.instance.gameInput.Menu.Disable(); asyncOperation.allowSceneActivation = true; diff --git a/Assets/Scripts/Story/StoryUI/Blocks/TutorialBlockUI.cs b/Assets/Scripts/Story/StoryUI/Blocks/TutorialBlockUI.cs index d28e50dd..2dea2485 100644 --- a/Assets/Scripts/Story/StoryUI/Blocks/TutorialBlockUI.cs +++ b/Assets/Scripts/Story/StoryUI/Blocks/TutorialBlockUI.cs @@ -1,8 +1,10 @@ +using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using Ichni.Menu; using TMPro; +using UniRx; using UnityEngine; using UnityEngine.UI; @@ -36,13 +38,14 @@ namespace Ichni.Story.UI SongItemData song = ChapterSelectionManager.instance.tutorialCollection.songs[chapter.chapterIndex]; DifficultyData difficulty = song.difficultyDataList[0]; InformationTransistor.instance.SetInformation(chapter, song, difficulty); + InformationTransistor.instance.isReturnedFromTutorial = true; + InformationTransistor.instance.isReturnedFromGame = false; MenuAudioManager.instance.audioContainer.PlaySoundFX("EnterToGame"); MenuAudioManager.instance.audioContainer.StopEvent("PlayPreview"); DOTween.KillAll(); - - MenuManager.instance.TestEnterGame(); + Observable.Timer(TimeSpan.FromSeconds(0.6f)).Subscribe(_ => { MenuManager.instance.EnterGameScene(); }); } } } \ No newline at end of file diff --git a/Assets/Scripts/UI/SongSelection/PlaySongUI.cs b/Assets/Scripts/UI/SongSelection/PlaySongUI.cs index 509d049c..56080899 100644 --- a/Assets/Scripts/UI/SongSelection/PlaySongUI.cs +++ b/Assets/Scripts/UI/SongSelection/PlaySongUI.cs @@ -53,7 +53,7 @@ namespace Ichni.Menu MenuManager.instance.transitionUIPage.FadeIn(); Observable.Timer(TimeSpan.FromSeconds(0.6f)).Subscribe(_ => { - MenuManager.instance.TestEnterGame(); + MenuManager.instance.EnterGame(); }); }); diff --git a/Assets/Scripts/UI/SongSelection/SongSelectionTab.cs b/Assets/Scripts/UI/SongSelection/SongSelectionTab.cs index a66a083c..91e01c6a 100644 --- a/Assets/Scripts/UI/SongSelection/SongSelectionTab.cs +++ b/Assets/Scripts/UI/SongSelection/SongSelectionTab.cs @@ -62,7 +62,7 @@ namespace Ichni.Menu Observable.Timer(TimeSpan.FromSeconds(0.6f)).Subscribe(_ => { - MenuManager.instance.TestEnterGame(); + MenuManager.instance.EnterGame(); }); } else diff --git a/Assets/Settings/URP-HighFidelity.asset b/Assets/Settings/URP-HighFidelity.asset index 795fb881..bcec56f8 100644 --- a/Assets/Settings/URP-HighFidelity.asset +++ b/Assets/Settings/URP-HighFidelity.asset @@ -88,19 +88,19 @@ MonoBehaviour: m_PrefilterXRKeywords: 1 m_PrefilteringModeForwardPlus: 2 m_PrefilteringModeDeferredRendering: 0 - m_PrefilteringModeScreenSpaceOcclusion: 2 + m_PrefilteringModeScreenSpaceOcclusion: 0 m_PrefilterDebugKeywords: 1 m_PrefilterWriteRenderingLayers: 1 m_PrefilterHDROutput: 1 - m_PrefilterSSAODepthNormals: 0 + m_PrefilterSSAODepthNormals: 1 m_PrefilterSSAOSourceDepthLow: 1 m_PrefilterSSAOSourceDepthMedium: 1 m_PrefilterSSAOSourceDepthHigh: 1 - m_PrefilterSSAOInterleaved: 0 + m_PrefilterSSAOInterleaved: 1 m_PrefilterSSAOBlueNoise: 1 m_PrefilterSSAOSampleCountLow: 1 m_PrefilterSSAOSampleCountMedium: 1 - m_PrefilterSSAOSampleCountHigh: 0 + m_PrefilterSSAOSampleCountHigh: 1 m_PrefilterDBufferMRT1: 1 m_PrefilterDBufferMRT2: 1 m_PrefilterDBufferMRT3: 1 diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs index 9c1962e5..fadb7fd6 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/NoteVisual/DTMNoteVisual.cs @@ -27,6 +27,11 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse if (note == null) throw new System.Exception("NoteVisual只能生成在Note下。"); this.note = note; note.noteVisual = this; + + if (note is Flick flick) + { + flick.availableFlickDirections = new List() { Vector2.left, Vector2.right }; + } } public override void AfterInitialize() diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 2c43b890..4d1a5670 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -15,10 +15,10 @@ EditorUserSettings: value: 5550060701065c085e5c5924162609444f4f4b297e70226674284564b1b8326d flags: 0 RecentlyUsedSceneGuid-3: - value: 0006570300050d0a550b087144275c4412164f7f7d7970327c7e1961b1b4616f + value: 5a08575f5207595a0f5d59741173094444164f7d7d2a23317c7a4465bbe1646d flags: 0 RecentlyUsedSceneGuid-4: - value: 5a08575f5207595a0f5d59741173094444164f7d7d2a23317c7a4465bbe1646d + value: 0006570300050d0a550b087144275c4412164f7f7d7970327c7e1961b1b4616f flags: 0 vcSharedLogLevel: value: 0d5e400f0650 diff --git a/UserSettings/Layouts/default-2022.dwlt b/UserSettings/Layouts/default-2022.dwlt index e360719b..10583e42 100644 --- a/UserSettings/Layouts/default-2022.dwlt +++ b/UserSettings/Layouts/default-2022.dwlt @@ -19,7 +19,7 @@ MonoBehaviour: width: 1706.6667 height: 869.3334 m_ShowMode: 4 - m_Title: Game + m_Title: Simulator m_RootView: {fileID: 2} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -119,7 +119,7 @@ MonoBehaviour: m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 121 + controlID: 126 draggingID: 0 --- !u!114 &6 MonoBehaviour: @@ -209,7 +209,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 1 m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: GameView + m_Name: SimulatorWindow m_EditorClassIdentifier: m_Children: [] m_Position: @@ -218,8 +218,8 @@ MonoBehaviour: y: 0 width: 930.66675 height: 562.6667 - m_MinSize: {x: 202, y: 221} - m_MaxSize: {x: 4002, y: 4021} + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 22} m_Panes: - {fileID: 13} @@ -237,7 +237,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 1 m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: ProjectBrowser + m_Name: ConsoleWindow m_EditorClassIdentifier: m_Children: [] m_Position: @@ -246,16 +246,16 @@ MonoBehaviour: y: 562.6667 width: 1197.3334 height: 256.66663 - m_MinSize: {x: 231, y: 271} - m_MaxSize: {x: 10001, y: 10021} - m_ActualView: {fileID: 15} + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 16} m_Panes: - {fileID: 15} - {fileID: 16} - {fileID: 17} - {fileID: 18} - m_Selected: 0 - m_LastSelected: 1 + m_Selected: 1 + m_LastSelected: 0 --- !u!114 &11 MonoBehaviour: m_ObjectHideFlags: 52 @@ -275,8 +275,8 @@ MonoBehaviour: y: 0 width: 509.33325 height: 819.3333 - m_MinSize: {x: 276, y: 121} - m_MaxSize: {x: 4001, y: 4021} + m_MinSize: {x: 275, y: 100} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 20} m_Panes: - {fileID: 19} @@ -324,7 +324,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 8cb6ffff98beffff1af9ffff02fbffff949a0000d6ee000084ef000020f0000040f20000 + m_ExpandedIDs: 78cdfdff1ccefdff20d9fdffe4e0fdffe600fefff401feff8e0cfeff5214feffbac9ffffd0caffffcad2ffffb6dbffff96e2ffff28f9ffff02fbfffff4ffffff70a3000096a50000aea5000004f100001cf10000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -765,14 +765,14 @@ MonoBehaviour: m_OverrideSceneCullingMask: 6917529027641081856 m_SceneIsLit: 1 m_SceneLighting: 1 - m_2DMode: 1 + m_2DMode: 0 m_isRotationLocked: 0 m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 849.8244, y: 156.46439, z: 0.07204684} + m_Target: {x: 8.383683, y: -1.7852159, z: 5.9926147} speed: 2 - m_Value: {x: 849.8195, y: 156.45961, z: 0.0717944} + m_Value: {x: 8.383683, y: -1.7852159, z: 5.9926147} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -818,17 +818,17 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: 0, y: 0, z: 0, w: 1} + m_Target: {x: -0.018804695, y: 0.02009148, z: -0.0003779848, w: -0.9996227} speed: 2 - m_Value: {x: 0, y: 0, z: 0, w: 1} + m_Value: {x: -0.01880467, y: 0.020091452, z: -0.00037798425, w: -0.9996213} m_Size: - m_Target: 0.535748 + m_Target: 35.57526 speed: 2 - m_Value: 0.56099266 + m_Value: 35.57526 m_Ortho: - m_Target: 1 + m_Target: 0 speed: 2 - m_Value: 1 + m_Value: 0 m_CameraSettings: m_Speed: 1 m_SpeedNormalized: 0.5 @@ -1002,7 +1002,7 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/Sprites/Illustrations/Characters + - Assets/Scripts/Menu m_Globs: [] m_OriginalText: m_ImportLogFlags: 0 @@ -1010,16 +1010,16 @@ MonoBehaviour: m_ViewMode: 1 m_StartGridSize: 16 m_LastFolders: - - Assets/Sprites/Illustrations/Characters + - Assets/Scripts/Menu m_LastFoldersGridSize: 16 m_LastProjectPath: D:\Projects\ichni Official m_LockTracker: m_IsLocked: 0 m_FolderTreeState: - scrollPos: {x: 0, y: 548.3334} - m_SelectedIDs: 18e00000 - m_LastClickedID: 57368 - m_ExpandedIDs: 0000000006a2000008a200000aa200000ca200000ea2000010a2000012a2000014a2000016a2000018a200001aa200001ca200001ea2000020a2000022a2000024a2000026a2000028a200002aa200002ca200002ea2000030a2000032a2000034a2000036a2000038a200003aa200003ca200003ea2000040a2000042a2000044a2000046a2000048a200004aa200004ca2000058a20000d6a20000e6a20000eca2000016b7000000ca9a3b + scrollPos: {x: 0, y: 360.33337} + m_SelectedIDs: fc450100 + m_LastClickedID: 83452 + m_ExpandedIDs: 000000001aa200001ca200001ea2000020a2000022a2000024a2000026a2000028a200002aa200002ca200002ea2000030a2000032a2000034a2000036a2000038a200003aa200003ca200003ea2000040a2000042a2000044a2000046a2000048a200004aa200004ca200004ea2000050a2000052a2000054a2000058a200005aa200005ca20000a8a20000c4a20000c6a2000092b0000098b00000a0b00000482b01004c2b01000046010000ca9a3b m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1047,7 +1047,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 0000000006a2000008a200000aa200000ca200000ea2000010a2000012a2000014a2000016a2000018a200001aa200001ca200001ea2000020a2000022a2000024a2000026a2000028a200002aa200002ca200002ea2000030a2000032a2000034a2000036a2000038a200003aa200003ca200003ea2000040a2000042a2000044a2000046a2000048a200004aa200004ca200004ea2000050a2000052a2000054a2000056a2000058a200005aa200005ca20000 + m_ExpandedIDs: 000000001aa200001ca200001ea2000020a2000022a2000024a2000026a2000028a200002aa200002ca200002ea2000030a2000032a2000034a2000036a2000038a200003aa200003ca200003ea2000040a2000042a2000044a2000046a2000048a200004aa200004ca200004ea2000050a2000052a2000054a2000056a2000058a200005aa200005ca20000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1072,24 +1072,24 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_ListAreaState: - m_SelectedInstanceIDs: - m_LastClickedInstanceID: 0 - m_HadKeyboardFocusLastEvent: 1 + m_SelectedInstanceIDs: f0f10000 + m_LastClickedInstanceID: 61936 + m_HadKeyboardFocusLastEvent: 0 m_ExpandedInstanceIDs: c6230000d2c101005ac60100bec80100b6c80100000000000cd901003ada010074b30100d4a10600f8a300000e8e00003e91000044900000e8920000c6d400005aa10000909600007ca300009a9d00004ab90000fa9e0000aaab00006ea6000014ab000022e0000028e00000 m_RenameOverlay: m_UserAcceptedRename: 0 - m_Name: Gemini_Generated_Image_d3qj4dd3qj4dd3qj - m_OriginalName: Gemini_Generated_Image_d3qj4dd3qj4dd3qj + m_Name: + m_OriginalName: m_EditFieldRect: serializedVersion: 2 x: 0 y: 0 width: 0 height: 0 - m_UserData: 57384 + m_UserData: 0 m_IsWaitingForDelay: 0 m_IsRenaming: 0 - m_OriginalEventType: 0 + m_OriginalEventType: 11 m_IsRenamingFilename: 1 m_ClientGUIView: {fileID: 10} m_CreateAssetUtility: @@ -1175,7 +1175,7 @@ MonoBehaviour: m_OverlaysVisible: 1 m_LockTracker: m_IsLocked: 0 - m_LastSelectedObjectID: 52388 + m_LastSelectedObjectID: 62008 --- !u!114 &18 MonoBehaviour: m_ObjectHideFlags: 52 @@ -1274,7 +1274,7 @@ MonoBehaviour: m_CachedPref: 181.66656 m_ControlHash: -371814159 m_PrefName: Preview_InspectorPreview - m_LastInspectedObjectInstanceID: -1 + m_LastInspectedObjectInstanceID: 37280 m_LastVerticalScrollValue: 0 m_GlobalObjectId: m_InspectorMode: 0 @@ -1372,15 +1372,15 @@ MonoBehaviour: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_EditorHideFlags: 0 + m_Script: {fileID: 13974, guid: 0000000000000000e000000000000000, type: 0} m_Name: m_EditorClassIdentifier: m_MinSize: {x: 200, y: 200} m_MaxSize: {x: 4000, y: 4000} m_TitleContent: - m_Text: Game - m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, + m_Text: Simulator + m_Image: {fileID: 3038311277492192215, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: @@ -1400,69 +1400,36 @@ MonoBehaviour: m_SaveData: [] m_OverlaysVisible: 1 m_SerializedViewNames: - - UnityEditor.DeviceSimulation.SimulatorWindow + - UnityEditor.GameView m_SerializedViewValues: - - D:\Projects\ichni Official\Library\PlayModeViewStates\5d367d67919082841bd25ba0b3a8ed87 - m_PlayModeViewName: GameView + - D:\Projects\ichni Official\Library\PlayModeViewStates\aab98a45e4519fc4886efefa30e63b95 + m_PlayModeViewName: Device Simulator m_ShowGizmos: 0 m_TargetDisplay: 0 - m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1920, y: 1080} + m_ClearColor: {r: 0, g: 0, b: 0, a: 1} + m_TargetSize: {x: 2688, y: 1242} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 - m_EnterPlayModeBehavior: 0 + m_EnterPlayModeBehavior: 2 m_UseMipMap: 0 - m_VSyncEnabled: 0 - m_Gizmos: 0 - m_Stats: 0 - m_SelectedSizes: 03000000000000000000000006000000000000000000000000000000000000000000000000000000 - m_ZoomArea: - m_HRangeLocked: 0 - m_VRangeLocked: 0 - hZoomLockedByDefault: 0 - vZoomLockedByDefault: 0 - m_HBaseRangeMin: -640 - m_HBaseRangeMax: 640 - m_VBaseRangeMin: -360 - m_VBaseRangeMax: 360 - m_HAllowExceedBaseRangeMin: 1 - m_HAllowExceedBaseRangeMax: 1 - m_VAllowExceedBaseRangeMin: 1 - m_VAllowExceedBaseRangeMax: 1 - m_ScaleWithWindow: 0 - m_HSlider: 0 - m_VSlider: 0 - m_IgnoreScrollWheelUntilClicked: 0 - m_EnableMouseInput: 1 - m_EnableSliderZoomHorizontal: 0 - m_EnableSliderZoomVertical: 0 - m_UniformScale: 1 - m_UpDirection: 1 - m_DrawArea: - serializedVersion: 2 - x: 0 - y: 21 - width: 928.66675 - height: 520.6667 - m_Scale: {x: 0.72314817, y: 0.72314817} - m_Translation: {x: 464.33337, y: 260.33334} - m_MarginLeft: 0 - m_MarginRight: 0 - m_MarginTop: 0 - m_MarginBottom: 0 - m_LastShownAreaInsideMargins: - serializedVersion: 2 - x: -642.0999 - y: -360 - width: 1284.1998 - height: 720 - m_MinimalGUI: 1 - m_defaultScale: 0.72314817 - m_LastWindowPixelSize: {x: 1393.0001, y: 812.5} - m_ClearInEditMode: 1 - m_NoCameraWarning: 1 - m_LowResolutionForAspectRatios: 01000000000000000000 - m_XRRenderMode: 0 - m_RenderTexture: {fileID: 0} - m_showToolbar: 1 + m_SimulatorState: + controlPanelVisible: 0 + controlPanelWidth: 0 + controlPanelFoldoutKeys: + - UnityEditor.DeviceSimulation.ApplicationSettingsPlugin + controlPanelFoldoutValues: 00 + pluginNames: + - UnityEditor.DeviceSimulation.ApplicationSettingsPlugin + - UnityEngine.InputSystem.Editor.InputSystemPlugin + pluginStates: + - '{}' + - '{}' + scale: 33 + fitToScreenEnabled: 1 + rotationDegree: 90 + highlightSafeAreaEnabled: 0 + friendlyName: Apple iPhone XS Max + screenIndex: 0 + networkReachability: 1 + systemLanguage: 10