Skip to content

Commit 4ad0d32

Browse files
committed
モーダルの置き換えと動作確認用シーン
1 parent 3e94831 commit 4ad0d32

File tree

13 files changed

+491
-73
lines changed

13 files changed

+491
-73
lines changed

Assets/UnityScreenNavigator/Runtime/Core/Modal/Modal.cs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using UnityEngine;
55
using UnityScreenNavigator.Runtime.Core.Shared;
66
using UnityScreenNavigator.Runtime.Foundation;
7-
using UnityScreenNavigator.Runtime.Foundation.Coroutine;
87
#if USN_USE_ASYNC_METHODS
98
using System.Threading.Tasks;
109
#endif
@@ -169,8 +168,9 @@ public void RemoveLifecycleEvent(IModalLifecycleEvent lifecycleEvent)
169168
_lifecycleEvents.RemoveItem(lifecycleEvent);
170169
}
171170

172-
internal AsyncProcessHandle AfterLoad(RectTransform parentTransform)
171+
internal AsyncStatus AfterLoad(RectTransform parentTransform)
173172
{
173+
Debug.Log("//////");
174174
_rectTransform = (RectTransform)transform;
175175
_canvasGroup = gameObject.GetOrAddComponent<CanvasGroup>();
176176
_lifecycleEvents.AddItem(this, 0);
@@ -180,12 +180,12 @@ internal AsyncProcessHandle AfterLoad(RectTransform parentTransform)
180180
_canvasGroup.alpha = 0.0f;
181181

182182
var lifecycleEventTask = _lifecycleEvents.ExecuteLifecycleEventsSequentially(x => x.Initialize());
183-
return CoroutineManager.Instance.Run(CreateCoroutine(lifecycleEventTask));
183+
return CoroutineScheduler.Run(CreateCoroutine(lifecycleEventTask));
184184
}
185185

186-
internal AsyncProcessHandle BeforeEnter(bool push, Modal partnerModal)
186+
internal AsyncStatus BeforeEnter(bool push, Modal partnerModal)
187187
{
188-
return CoroutineManager.Instance.Run(BeforeEnterRoutine(push, partnerModal));
188+
return CoroutineScheduler.Run(BeforeEnterRoutine(push, partnerModal));
189189
}
190190

191191
private IEnumerator BeforeEnterRoutine(bool push, Modal partnerModal)
@@ -204,14 +204,14 @@ private IEnumerator BeforeEnterRoutine(bool push, Modal partnerModal)
204204
var lifecycleEventTask = push
205205
? _lifecycleEvents.ExecuteLifecycleEventsSequentially(x => x.WillPushEnter())
206206
: _lifecycleEvents.ExecuteLifecycleEventsSequentially(x => x.WillPopEnter());
207-
var handle = CoroutineManager.Instance.Run(CreateCoroutine(lifecycleEventTask));
208-
while (!handle.IsTerminated)
207+
var handle = CoroutineScheduler.Run(CreateCoroutine(lifecycleEventTask));
208+
while (!handle.IsCompleted)
209209
yield return null;
210210
}
211211

212-
internal AsyncProcessHandle Enter(bool push, bool playAnimation, Modal partnerModal)
212+
internal AsyncStatus Enter(bool push, bool playAnimation, Modal partnerModal)
213213
{
214-
return CoroutineManager.Instance.Run(EnterRoutine(push, playAnimation, partnerModal));
214+
return CoroutineScheduler.Run(EnterRoutine(push, playAnimation, partnerModal));
215215
}
216216

217217
private IEnumerator EnterRoutine(bool push, bool playAnimation, Modal partnerModal)
@@ -230,7 +230,7 @@ private IEnumerator EnterRoutine(bool push, bool playAnimation, Modal partnerMod
230230
{
231231
anim.SetPartner(partnerModal?.transform as RectTransform);
232232
anim.Setup(_rectTransform);
233-
yield return CoroutineManager.Instance.Run(anim.CreatePlayRoutine(TransitionProgressReporter));
233+
yield return CoroutineScheduler.Run(anim.CreatePlayRoutine(TransitionProgressReporter));
234234
}
235235
}
236236

@@ -251,9 +251,9 @@ internal void AfterEnter(bool push, Modal partnerModal)
251251
TransitionAnimationType = null;
252252
}
253253

254-
internal AsyncProcessHandle BeforeExit(bool push, Modal partnerModal)
254+
internal AsyncStatus BeforeExit(bool push, Modal partnerModal)
255255
{
256-
return CoroutineManager.Instance.Run(BeforeExitRoutine(push, partnerModal));
256+
return CoroutineScheduler.Run(BeforeExitRoutine(push, partnerModal));
257257
}
258258

259259
private IEnumerator BeforeExitRoutine(bool push, Modal partnerModal)
@@ -273,14 +273,14 @@ private IEnumerator BeforeExitRoutine(bool push, Modal partnerModal)
273273
? _lifecycleEvents.ExecuteLifecycleEventsSequentially(x => x.WillPushExit())
274274
: _lifecycleEvents.ExecuteLifecycleEventsSequentially(x => x.WillPopExit());
275275

276-
var handle = CoroutineManager.Instance.Run(CreateCoroutine(routines));
277-
while (!handle.IsTerminated)
276+
var handle = CoroutineScheduler.Run(CreateCoroutine(routines));
277+
while (!handle.IsCompleted)
278278
yield return null;
279279
}
280280

281-
internal AsyncProcessHandle Exit(bool push, bool playAnimation, Modal partnerModal)
281+
internal AsyncStatus Exit(bool push, bool playAnimation, Modal partnerModal)
282282
{
283-
return CoroutineManager.Instance.Run(ExitRoutine(push, playAnimation, partnerModal));
283+
return CoroutineScheduler.Run(ExitRoutine(push, playAnimation, partnerModal));
284284
}
285285

286286
private IEnumerator ExitRoutine(bool push, bool playAnimation, Modal partnerModal)
@@ -297,7 +297,7 @@ private IEnumerator ExitRoutine(bool push, bool playAnimation, Modal partnerModa
297297
{
298298
anim.SetPartner(partnerModal?.transform as RectTransform);
299299
anim.Setup(_rectTransform);
300-
yield return CoroutineManager.Instance.Run(anim.CreatePlayRoutine(TransitionProgressReporter));
300+
yield return CoroutineScheduler.Run(anim.CreatePlayRoutine(TransitionProgressReporter));
301301
}
302302
}
303303

@@ -323,10 +323,10 @@ internal void BeforeReleaseAndForget()
323323
var _ = _lifecycleEvents.ExecuteLifecycleEventsSequentially(x => x.Cleanup());
324324
}
325325

326-
internal AsyncProcessHandle BeforeRelease()
326+
internal AsyncStatus BeforeRelease()
327327
{
328328
var lifecycleEventTask = _lifecycleEvents.ExecuteLifecycleEventsSequentially(x => x.Cleanup());
329-
return CoroutineManager.Instance.Run(CreateCoroutine(lifecycleEventTask));
329+
return CoroutineScheduler.Run(CreateCoroutine(lifecycleEventTask));
330330
}
331331

332332
#if USN_USE_ASYNC_METHODS
@@ -337,8 +337,8 @@ private IEnumerator CreateCoroutine(IEnumerable<IEnumerator> targets)
337337
{
338338
foreach (var target in targets)
339339
{
340-
var handle = CoroutineManager.Instance.Run(CreateCoroutine(target));
341-
if (!handle.IsTerminated)
340+
var handle = CoroutineScheduler.Run(CreateCoroutine(target));
341+
if (!handle.IsCompleted)
342342
yield return handle;
343343
}
344344
}

Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalBackdrop.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using UnityEngine.UI;
44
using UnityScreenNavigator.Runtime.Core.Shared;
55
using UnityScreenNavigator.Runtime.Foundation;
6-
using UnityScreenNavigator.Runtime.Foundation.Coroutine;
76

87
namespace UnityScreenNavigator.Runtime.Core.Modal
98
{
@@ -59,9 +58,9 @@ protected virtual void OnSetup(RectTransform parentTransform, int modalIndex)
5958
{
6059
}
6160

62-
internal AsyncProcessHandle Enter(bool playAnimation)
61+
internal AsyncStatus Enter(bool playAnimation)
6362
{
64-
return CoroutineManager.Instance.Run(EnterRoutine(playAnimation));
63+
return CoroutineScheduler.Run(EnterRoutine(playAnimation));
6564
}
6665

6766
private IEnumerator EnterRoutine(bool playAnimation)
@@ -81,16 +80,16 @@ private IEnumerator EnterRoutine(bool playAnimation)
8180
if (anim.Duration > 0)
8281
{
8382
anim.Setup(_rectTransform);
84-
yield return CoroutineManager.Instance.Run(anim.CreatePlayRoutine());
83+
yield return CoroutineScheduler.Run(anim.CreatePlayRoutine());
8584
}
8685
}
8786

8887
_rectTransform.FillParent(_parentTransform);
8988
}
9089

91-
internal AsyncProcessHandle Exit(bool playAnimation)
90+
internal AsyncStatus Exit(bool playAnimation)
9291
{
93-
return CoroutineManager.Instance.Run(ExitRoutine(playAnimation));
92+
return CoroutineScheduler.Run(ExitRoutine(playAnimation));
9493
}
9594

9695
private IEnumerator ExitRoutine(bool playAnimation)
@@ -110,7 +109,7 @@ private IEnumerator ExitRoutine(bool playAnimation)
110109
if (anim.Duration > 0)
111110
{
112111
anim.Setup(_rectTransform);
113-
yield return CoroutineManager.Instance.Run(anim.CreatePlayRoutine());
112+
yield return CoroutineScheduler.Run(anim.CreatePlayRoutine());
114113
}
115114
}
116115

Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalBackdropHandler/ChangeOrderModalBackdropHandler.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using UnityEngine;
2-
using UnityScreenNavigator.Runtime.Foundation.Coroutine;
2+
using UnityScreenNavigator.Runtime.Foundation;
33
using Object = UnityEngine.Object;
44

55
namespace UnityScreenNavigator.Runtime.Core.Modal
@@ -27,7 +27,7 @@ public ChangeOrderModalBackdropHandler(ModalBackdrop prefab, ChangeTiming change
2727
_changeTiming = changeTiming;
2828
}
2929

30-
public AsyncProcessHandle BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation)
30+
public AsyncStatus BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation)
3131
{
3232
var parent = (RectTransform)modal.transform.parent;
3333

@@ -46,7 +46,7 @@ public AsyncProcessHandle BeforeModalEnter(Modal modal, int modalIndex, bool pla
4646
if (_changeTiming == ChangeTiming.BeforeAnimation)
4747
_instance.transform.SetSiblingIndex(backdropSiblingIndex);
4848

49-
return AsyncProcessHandle.Completed();
49+
return AsyncStatus.Completed();
5050
}
5151

5252
public void AfterModalEnter(Modal modal, int modalIndex, bool playAnimation)
@@ -57,7 +57,7 @@ public void AfterModalEnter(Modal modal, int modalIndex, bool playAnimation)
5757
_instance.transform.SetSiblingIndex(backdropSiblingIndex);
5858
}
5959

60-
public AsyncProcessHandle BeforeModalExit(Modal modal, int modalIndex, bool playAnimation)
60+
public AsyncStatus BeforeModalExit(Modal modal, int modalIndex, bool playAnimation)
6161
{
6262
// If it is the first modal, play the backdrop animation
6363
if (modalIndex == 0)
@@ -67,7 +67,7 @@ public AsyncProcessHandle BeforeModalExit(Modal modal, int modalIndex, bool play
6767
if (_changeTiming == ChangeTiming.BeforeAnimation)
6868
_instance.transform.SetSiblingIndex(modalIndex - 1);
6969

70-
return AsyncProcessHandle.Completed();
70+
return AsyncStatus.Completed();
7171
}
7272

7373
public void AfterModalExit(Modal modal, int modalIndex, bool playAnimation)

Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalBackdropHandler/GeneratePerModalModalBackdropHandler.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using UnityEngine;
2-
using UnityScreenNavigator.Runtime.Foundation.Coroutine;
2+
using UnityScreenNavigator.Runtime.Foundation;
33

44
namespace UnityScreenNavigator.Runtime.Core.Modal
55
{
@@ -15,7 +15,7 @@ public GeneratePerModalModalBackdropHandler(ModalBackdrop prefab)
1515
_prefab = prefab;
1616
}
1717

18-
public AsyncProcessHandle BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation)
18+
public AsyncStatus BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation)
1919
{
2020
var parent = (RectTransform)modal.transform.parent;
2121
var backdrop = Object.Instantiate(_prefab);
@@ -29,7 +29,7 @@ public void AfterModalEnter(Modal modal, int modalIndex, bool playAnimation)
2929
{
3030
}
3131

32-
public AsyncProcessHandle BeforeModalExit(Modal modal, int modalIndex, bool playAnimation)
32+
public AsyncStatus BeforeModalExit(Modal modal, int modalIndex, bool playAnimation)
3333
{
3434
var backdropSiblingIndex = modalIndex * 2;
3535
var backdrop = modal.transform.parent.GetChild(backdropSiblingIndex).GetComponent<ModalBackdrop>();

Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalBackdropHandler/IModalBackdropHandler.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
using UnityScreenNavigator.Runtime.Foundation.Coroutine;
1+
using UnityScreenNavigator.Runtime.Foundation;
22

33
namespace UnityScreenNavigator.Runtime.Core.Modal
44
{
55
internal interface IModalBackdropHandler
66
{
7-
AsyncProcessHandle BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation);
7+
AsyncStatus BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation);
88

99
void AfterModalEnter(Modal modal, int modalIndex, bool playAnimation);
1010

11-
AsyncProcessHandle BeforeModalExit(Modal modal, int modalIndex, bool playAnimation);
11+
AsyncStatus BeforeModalExit(Modal modal, int modalIndex, bool playAnimation);
1212

1313
void AfterModalExit(Modal modal, int modalIndex, bool playAnimation);
1414
}

Assets/UnityScreenNavigator/Runtime/Core/Modal/ModalBackdropHandler/OnlyFirstBackdropModalBackdropHandler.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using UnityEngine;
2-
using UnityScreenNavigator.Runtime.Foundation.Coroutine;
2+
using UnityScreenNavigator.Runtime.Foundation;
33
using Object = UnityEngine.Object;
44

55
namespace UnityScreenNavigator.Runtime.Core.Modal
@@ -16,13 +16,13 @@ public OnlyFirstBackdropModalBackdropHandler(ModalBackdrop prefab)
1616
_prefab = prefab;
1717
}
1818

19-
public AsyncProcessHandle BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation)
19+
public AsyncStatus BeforeModalEnter(Modal modal, int modalIndex, bool playAnimation)
2020
{
2121
var parent = (RectTransform)modal.transform.parent;
2222

2323
// Do not generate a backdrop for the first modal
2424
if (modalIndex != 0)
25-
return AsyncProcessHandle.Completed();
25+
return AsyncStatus.Completed();
2626

2727
var backdrop = Object.Instantiate(_prefab);
2828
backdrop.Setup(parent, modalIndex);
@@ -34,11 +34,11 @@ public void AfterModalEnter(Modal modal, int modalIndex, bool playAnimation)
3434
{
3535
}
3636

37-
public AsyncProcessHandle BeforeModalExit(Modal modal, int modalIndex, bool playAnimation)
37+
public AsyncStatus BeforeModalExit(Modal modal, int modalIndex, bool playAnimation)
3838
{
3939
// Do not remove the backdrop for the first modal
4040
if (modalIndex != 0)
41-
return AsyncProcessHandle.Completed();
41+
return AsyncStatus.Completed();
4242

4343
var backdrop = modal.transform.parent.GetChild(0).GetComponent<ModalBackdrop>();
4444
return backdrop.Exit(playAnimation);

0 commit comments

Comments
 (0)