com.puzzlescapegames.services 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
using
|
|
1
|
+
using DG.Tweening;
|
|
2
2
|
using UnityEngine;
|
|
3
3
|
|
|
4
4
|
namespace PuzzlescapeGames.Services.UITransitionService
|
|
@@ -9,11 +9,11 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
9
9
|
[ field: SerializeField ] public string UID { get; private set; } = "default";
|
|
10
10
|
[ field: Space ]
|
|
11
11
|
[ field: SerializeField ] public float InDuration { get; private set; } = 0.33f;
|
|
12
|
-
[ field: SerializeField ] public
|
|
12
|
+
[ field: SerializeField ] public Ease InEase { get; private set; }
|
|
13
13
|
[ field: Space ]
|
|
14
14
|
[ field: SerializeField ] public float LoadingTime { get; private set; } = 1f;
|
|
15
15
|
[ field: Space ]
|
|
16
16
|
[ field: SerializeField ] public float OutDuration { get; private set; } = 0.16f;
|
|
17
|
-
[ field: SerializeField ] public
|
|
17
|
+
[ field: SerializeField ] public Ease OutEase { get; private set; }
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -39,7 +39,7 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
39
39
|
}
|
|
40
40
|
private bool _isInProcess = false;
|
|
41
41
|
|
|
42
|
-
public async UniTask ShowAsync( float duration,
|
|
42
|
+
public async UniTask ShowAsync( float duration, Ease easing, Action callback = null )
|
|
43
43
|
{
|
|
44
44
|
IsInProcess = true;
|
|
45
45
|
CanvasGroup.alpha = 0f;
|
|
@@ -55,7 +55,7 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
55
55
|
callback?.Invoke();
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
public async UniTask HideAsync( float duration,
|
|
58
|
+
public async UniTask HideAsync( float duration, Ease easing, Action callback = null )
|
|
59
59
|
{
|
|
60
60
|
IsInProcess = true;
|
|
61
61
|
CanvasGroup.Enable( false, false );
|
|
@@ -24,7 +24,7 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
24
24
|
Action onLoaded = null,
|
|
25
25
|
Action onHided = null,
|
|
26
26
|
CancellationToken cancellationToken = default,
|
|
27
|
-
params UniTask[] tasks
|
|
27
|
+
params Func< UniTask >[] tasks
|
|
28
28
|
)
|
|
29
29
|
{
|
|
30
30
|
await LoadThroughBlank( _settings.LoadingSettings[ index ], onShowed, onLoaded, onHided, cancellationToken, tasks );
|
|
@@ -36,7 +36,7 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
36
36
|
Action onLoaded = null,
|
|
37
37
|
Action onHided = null,
|
|
38
38
|
CancellationToken cancellationToken = default,
|
|
39
|
-
params UniTask[] tasks
|
|
39
|
+
params Func< UniTask >[] tasks
|
|
40
40
|
)
|
|
41
41
|
{
|
|
42
42
|
var loading = _settings.LoadingSettings.FirstOrDefault( ( x ) => string.Equals( x.UID, uid, StringComparison.InvariantCultureIgnoreCase ) );
|
|
@@ -49,7 +49,7 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
49
49
|
Action onLoaded = null,
|
|
50
50
|
Action onHided = null,
|
|
51
51
|
CancellationToken cancellationToken = default,
|
|
52
|
-
params UniTask[] tasks
|
|
52
|
+
params Func< UniTask >[] tasks
|
|
53
53
|
)
|
|
54
54
|
{
|
|
55
55
|
if ( _blank == null )
|
|
@@ -58,11 +58,11 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
58
58
|
Object.DontDestroyOnLoad( _blank );
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
await _blank.ShowAsync( loading.InDuration, loading.
|
|
61
|
+
await _blank.ShowAsync( loading.InDuration, loading.InEase, onShowed );
|
|
62
62
|
if ( tasks.Length > 0 )
|
|
63
63
|
{
|
|
64
64
|
var start = Time.time;
|
|
65
|
-
await UniTask.WhenAll( tasks );
|
|
65
|
+
await UniTask.WhenAll( tasks.Select( ( func ) => func() ) );
|
|
66
66
|
var diff = loading.LoadingTime - ( Time.time - start );
|
|
67
67
|
if ( diff > 0f )
|
|
68
68
|
{
|
|
@@ -74,7 +74,7 @@ namespace PuzzlescapeGames.Services.UITransitionService
|
|
|
74
74
|
await UniTask.WaitForSeconds( loading.LoadingTime, cancellationToken: cancellationToken );
|
|
75
75
|
}
|
|
76
76
|
onLoaded?.Invoke();
|
|
77
|
-
await _blank.HideAsync( loading.OutDuration, loading.
|
|
77
|
+
await _blank.HideAsync( loading.OutDuration, loading.OutEase, onHided );
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|