From 37838f5815eb507930bfcba57a3fd8ceb4cec5e0 Mon Sep 17 00:00:00 2001 From: torinos-yt Date: Tue, 28 Jan 2025 15:01:01 +0900 Subject: [PATCH 1/9] =?UTF-8?q?syncClip=E3=81=AElist=E3=82=92cash=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runtime/TimeMachineControlMixer.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs b/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs index 8b12d6f..ce4fbaa 100644 --- a/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs +++ b/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs @@ -26,6 +26,8 @@ public class TimeMachineControlMixer : PlayableBehaviour public TimelineClip CurrentTimelineClip => currentTimelineClip; public TimeMachineTrackManager timeMachineTrackManager => trackBinding; + List syncClips = new(); + public override void OnPlayableCreate(Playable playable) { initialized = false; @@ -66,7 +68,9 @@ public override void ProcessFrame(Playable playable, FrameData info, object play - var syncClips = new List(); + syncClips ??= new List(); + syncClips.Clear(); + foreach (var clip in clips) { From 910bbd599c3bbcaaadd7bdaa9409065f548074f2 Mon Sep 17 00:00:00 2001 From: torinos-yt Date: Tue, 28 Jan 2025 15:01:30 +0900 Subject: [PATCH 2/9] =?UTF-8?q?=E3=83=A9=E3=83=A0=E3=83=80=E5=BC=8F?= =?UTF-8?q?=E3=81=AE=E5=A4=89=E6=95=B0=E3=82=AD=E3=83=A3=E3=83=97=E3=83=81?= =?UTF-8?q?=E3=83=A3=E3=82=92=E5=9B=9E=E9=81=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runtime/TimeMachineControlMixer.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs b/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs index ce4fbaa..4e2af1d 100644 --- a/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs +++ b/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs @@ -86,8 +86,15 @@ public override void ProcessFrame(Playable playable, FrameData info, object play if (timeMachineControlClip.isSyncClip) { - if (timeMachineControlClip.syncClip.asset != null && - syncClips.Find(c => c ==timeMachineControlClip.syncClip) == null) + bool foundSyncCLip = false; + foreach (var c in syncClips) + if(c == timeMachineControlClip.syncClip) + { + foundSyncCLip = true; + break; + } + + if (timeMachineControlClip.syncClip.asset != null && !foundSyncCLip) { clip.start = timeMachineControlClip.syncClip.start; clip.duration = timeMachineControlClip.syncClip.duration; @@ -97,7 +104,6 @@ public override void ProcessFrame(Playable playable, FrameData info, object play { timeMachineControlClip.isSyncClip = false; } - } } From 454d3095a0271bcc543302808a26c0298a734b09 Mon Sep 17 00:00:00 2001 From: torinos-yt Date: Tue, 28 Jan 2025 15:10:41 +0900 Subject: [PATCH 3/9] =?UTF-8?q?tcFormat=E3=81=AE=E6=A7=8B=E7=AF=89?= =?UTF-8?q?=E3=81=8C=E3=83=95=E3=83=AC=E3=83=BC=E3=83=A0=E3=81=94=E3=81=A8?= =?UTF-8?q?=E3=81=AB=E8=B5=B0=E3=82=89=E3=81=AA=E3=81=84=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runtime/TimeMachineDebugViewer.cs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs b/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs index 1bf042a..645e4b3 100644 --- a/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs +++ b/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs @@ -50,6 +50,8 @@ public class TimeMachineDebugViewer : MonoBehaviour private Dictionary clipButtonTextDictionary = new Dictionary(); [SerializeField] private List buttonRectTransforms = new List(); + string[] tcFormatArray = null; + private bool _isPause = false; // Start is called before the first frame update @@ -172,6 +174,8 @@ public void Init() pauseAndPlayButton.transform.SetParent(clipButtonContainer); buttonRectTransforms.Add(pauseAndPlayButton.GetComponent()); buttonRectTransforms.Last().sizeDelta = clipButtonSize; + + tcFormatArray = tcFormat.Split(); } private string GetClipButtonName(TimelineClip clip) @@ -209,7 +213,6 @@ private void OnDisable() DestroyButtons(); } - private void UpdateTC() { if(stringBuilder == null) @@ -217,15 +220,14 @@ private void UpdateTC() stringBuilder = new StringBuilder(); } - var format = tcFormat.Split(); stringBuilder.Clear(); - + var fps = (float)timelineAsset.editorSettings.frameRate; var dateTime = TimeSpan.FromSeconds(timeMachineTrackManager.playableDirector.time); var currentClip = timeMachineControlTrack.timeMachineControlMixer.CurrentTimelineClip; var timeMachineControlClip = currentClip.asset as TimeMachineControlClip; var clipName = currentClip != null ? timeMachineControlClip.sectionName : "null"; - foreach (var f in format) + foreach (var f in tcFormatArray) { switch (f) { @@ -269,10 +271,6 @@ void Update() var currentClip = timeMachineControlTrack.timeMachineControlMixer.CurrentTimelineClip; var timeMachineControlClip = currentClip.asset as TimeMachineControlClip; if(timeMachineControlClip == null) return; - - - - UpdateTC(); From 4f9b30112b26c3e718c1038c1f73cb3d71870274 Mon Sep 17 00:00:00 2001 From: torinos-yt Date: Tue, 28 Jan 2025 15:13:01 +0900 Subject: [PATCH 4/9] =?UTF-8?q?=E3=82=AF=E3=83=AA=E3=83=83=E3=83=97?= =?UTF-8?q?=E5=90=8D=E3=81=AE=E5=8F=96=E5=BE=97=E3=82=92init=E3=81=A7?= =?UTF-8?q?=E8=A1=8C=E3=81=86=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runtime/TimeMachineDebugViewer.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs b/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs index 645e4b3..f605b25 100644 --- a/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs +++ b/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs @@ -283,14 +283,13 @@ void Update() if (clipTextPair.Key == currentClip) { clipButtonGUI.textMeshProUGUI.color = new Color(activeTextColor.r,activeTextColor.g,activeTextColor.b,0.6f + Mathf.Sin(Time.time*4)*0.4f); - clipButtonGUI.textMeshProUGUI.text =GetClipButtonName(clip); - reachCurrentClip = true; - + // clipButtonGUI.textMeshProUGUI.text =GetClipButtonName(clip); + reachCurrentClip = true; } else { clipTextPair.Value.textMeshProUGUI.color = reachCurrentClip ? defaultTextColor:finishTextColor; - clipTextPair.Value.textMeshProUGUI.text = GetClipButtonName(clip); + // clipTextPair.Value.textMeshProUGUI.text = GetClipButtonName(clip); } var progress =Mathf.Clamp( (float)(timeMachineTrackManager.playableDirector.time - clip.start) / (float)(clip.end - clip.start),0f,1f); From adc728b20cb78f9e7092d1a844f0f3febe735894 Mon Sep 17 00:00:00 2001 From: torinos-yt Date: Mon, 3 Feb 2025 14:28:39 +0900 Subject: [PATCH 5/9] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E6=95=B4?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runtime/TimeMachineControlMixer.cs | 12 ++++-------- .../Runtime/TimeMachineDebugViewer.cs | 13 +++++-------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs b/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs index 4e2af1d..c6a0074 100644 --- a/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs +++ b/jp.iridescent.timemachine/Runtime/TimeMachineControlMixer.cs @@ -26,7 +26,7 @@ public class TimeMachineControlMixer : PlayableBehaviour public TimelineClip CurrentTimelineClip => currentTimelineClip; public TimeMachineTrackManager timeMachineTrackManager => trackBinding; - List syncClips = new(); + private List syncClips = new(); public override void OnPlayableCreate(Playable playable) { @@ -64,11 +64,8 @@ public override void ProcessFrame(Playable playable, FrameData info, object play } double time = playableDirector.time; - - - syncClips ??= new List(); syncClips.Clear(); foreach (var clip in clips) @@ -86,15 +83,15 @@ public override void ProcessFrame(Playable playable, FrameData info, object play if (timeMachineControlClip.isSyncClip) { - bool foundSyncCLip = false; + bool foundSyncClip = false; foreach (var c in syncClips) if(c == timeMachineControlClip.syncClip) { - foundSyncCLip = true; + foundSyncClip = true; break; } - if (timeMachineControlClip.syncClip.asset != null && !foundSyncCLip) + if (timeMachineControlClip.syncClip.asset != null && !foundSyncClip) { clip.start = timeMachineControlClip.syncClip.start; clip.duration = timeMachineControlClip.syncClip.duration; @@ -137,7 +134,6 @@ public override void ProcessFrame(Playable playable, FrameData info, object play timeMachineControlClip.isFireOnClipEnd = false; } } - ; for (var i = 0; i < clips.Count; i++) { diff --git a/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs b/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs index f605b25..250af36 100644 --- a/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs +++ b/jp.iridescent.timemachine/Runtime/TimeMachineDebugViewer.cs @@ -50,11 +50,10 @@ public class TimeMachineDebugViewer : MonoBehaviour private Dictionary clipButtonTextDictionary = new Dictionary(); [SerializeField] private List buttonRectTransforms = new List(); - string[] tcFormatArray = null; + private string[] tcFormatArray = null; - private bool _isPause = false; + private bool isPause = false; - // Start is called before the first frame update void Start() { Init(); @@ -98,7 +97,7 @@ public void Init() if(timeMachineTrackManager ==null) return; var buttonPrefab = Resources.Load