From ea1802aac77dd9f831f0efeea8203390a341ffe0 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5VVRF18\\heal9" <heal9179@daum.net> Date: Thu, 18 Jan 2018 21:36:32 +0900 Subject: [PATCH] Refactoring --- Assets/Script/Judge.cs | 23 +++++--------- Assets/Script/JudgeManager.cs | 56 +++++++++++++++++++++-------------- 2 files changed, 40 insertions(+), 39 deletions(-) diff --git a/Assets/Script/Judge.cs b/Assets/Script/Judge.cs index 5b844d6..029a8be 100644 --- a/Assets/Script/Judge.cs +++ b/Assets/Script/Judge.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using UnityEngine; @@ -14,16 +12,15 @@ public class Judge new Judge("MISS") { Color = Color.red, IsBreak = true } }; - private Judge() + internal Judge() { - ButtonTimingRange = 0f; ButtonTimingRange = 0f; Score = 0; IsBreak = false; Color = Color.black; } - private Judge(string name) : this() { Name = name; } + internal Judge(string name) : this() { Name = name; } public string Name { get; private set; } @@ -39,20 +36,14 @@ public class Judge public static Judge TestJudge(Note note, float elapsedTime, bool end = false, bool test = false) { float timing = end ? note.EndTiming : note.StartTiming; - float difference = Mathf.Abs(elapsedTime - timing); + float difference = elapsedTime - timing; if (test) - Debug.Log(elapsedTime - timing); + Debug.Log(difference); - foreach (Judge judge in JudgeList) - { - if (difference < judge.ButtonTimingRange) - { - return judge; - } - } + var result = JudgeList.Where(x => Mathf.Abs(difference) < x.ButtonTimingRange).ToList(); - return JudgeList.Last(); + return result.Count == 0 ? JudgeList.Last() : result[0]; } public static bool IsNonEmptyMiss(Note note, float elapsedTime, bool end = false) diff --git a/Assets/Script/JudgeManager.cs b/Assets/Script/JudgeManager.cs index 89f1038..ce7ce2e 100644 --- a/Assets/Script/JudgeManager.cs +++ b/Assets/Script/JudgeManager.cs @@ -95,7 +95,7 @@ public class JudgeManager : MonoBehaviour judgeText.SetActive(false); MotionGuageReset(); - LoadNotes(GameManager.Instance.CurrentTrack.Notes); + LoadNotes(); Instantiate(GameManager.Instance.defaultSound); } @@ -271,8 +271,10 @@ public class JudgeManager : MonoBehaviour judgeText.GetComponent<Text>().color = judge.Color; } - private void LoadNotes(List<Note> notes) + private void LoadNotes() { + var notes = GameManager.Instance.CurrentTrack.Notes; + foreach (Note note in notes) { GameObject obj = Instantiate( @@ -280,35 +282,43 @@ public class JudgeManager : MonoBehaviour noteobj.transform) as GameObject; - if (note is MotionNote && !note.IsLong) - obj.transform.SetParent(smobj.transform); - else if (note is MotionNote && note.IsLong) - obj.transform.SetParent(lmobj.transform); - else if (note.Type == NoteType.MeasureLine || note.Type == NoteType.BeatLine) - obj.transform.SetParent(offset.transform); + SetNoteParent(note, obj); if (note.IsLong) - { - float length = note.Length * ScrollSpeed; + StretchLongNote(note, obj); - var holdTransform = obj.transform.GetChild(1) - .GetComponent<RectTransform>(); - var endTransform = obj.transform.GetChild(2) - .GetComponent<RectTransform>(); - - holdTransform.SetSizeWithCurrentAnchors( - RectTransform.Axis.Horizontal, length); - holdTransform.position += new Vector3(length / 2, 0, 0); - endTransform.position += new Vector3(length, 0, 0); - } - - obj.transform.position += initialPos + new Vector3( - note.StartTiming * ScrollSpeed, 0, 0); + obj.transform.position += initialPos + + (Vector3.right * (note.StartTiming * ScrollSpeed)); obj.AddComponent<Note.Controller>().Instance = note; } } + void SetNoteParent(Note note, GameObject obj) + { + if (note is MotionNote && !note.IsLong) + obj.transform.SetParent(smobj.transform); + else if (note is MotionNote && note.IsLong) + obj.transform.SetParent(lmobj.transform); + else if (note.Type == NoteType.MeasureLine || note.Type == NoteType.BeatLine) + obj.transform.SetParent(offset.transform); + } + + void StretchLongNote(Note note, GameObject obj) + { + float length = note.Length * ScrollSpeed; + + var holdTransform = obj.transform.GetChild(1) + .GetComponent<RectTransform>(); + var endTransform = obj.transform.GetChild(2) + .GetComponent<RectTransform>(); + + holdTransform.SetSizeWithCurrentAnchors( + RectTransform.Axis.Horizontal, length); + holdTransform.position += new Vector3(length / 2, 0, 0); + endTransform.position += new Vector3(length, 0, 0); + } + private bool onResult = false; private void ShowResult() -- 2.22.0