app.hypergames.hypersdk 1.11.0-beta.14 → 1.11.0-beta.15
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.
- package/CHANGELOG.md +7 -0
- package/Runtime/Internal/UI/Components/ReplayController.cs +28 -0
- package/Runtime/Internal/UI/Components/ReplaySeekOverlay.cs +18 -0
- package/Runtime/Internal/UI/Components/ReplaySeekOverlay.cs.meta +2 -0
- package/Runtime/Resources/Fonts/Wonder Boys/Wonder Boys.asset +394 -379
- package/Runtime/Resources/Sprites/Circle Loader/Property 1=1.png.meta +7 -7
- package/Runtime/Resources/Sprites/Circle Loader/Property 1=2.png.meta +7 -7
- package/Runtime/Resources/Sprites/Circle Loader/Property 1=3.png.meta +7 -7
- package/Runtime/Resources/Sprites/Circle Loader/Property 1=4.png.meta +7 -7
- package/Runtime/Resources/Sprites/Circle Loader/Property 1=5.png.meta +7 -7
- package/Runtime/Resources/UIPrefabs/ReplaySeekOverlay.prefab +291 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [1.11.0-beta.15](https://github.com/mvmhyper/hyper-sdk/compare/v1.11.0-beta.14...v1.11.0-beta.15) (2026-08-31)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **replay:** show seek completion progress ([4e7c1b8](https://github.com/mvmhyper/hyper-sdk/commit/4e7c1b807bd9f34b97477ef39aa9ca3c06316ef3))
|
|
7
|
+
|
|
1
8
|
# [1.11.0-beta.14](https://github.com/mvmhyper/hyper-sdk/compare/v1.11.0-beta.13...v1.11.0-beta.14) (2026-08-31)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -32,6 +32,7 @@ namespace Hyper.Internal
|
|
|
32
32
|
private Texture2D seekSnapshotTexture;
|
|
33
33
|
private Image seekOverlayBackground;
|
|
34
34
|
private Color seekOverlayBackgroundColor;
|
|
35
|
+
private ReplaySeekOverlay seekOverlay;
|
|
35
36
|
|
|
36
37
|
private void Awake()
|
|
37
38
|
{
|
|
@@ -79,6 +80,11 @@ namespace Hyper.Internal
|
|
|
79
80
|
SetSeekingPresentation(isSeeking);
|
|
80
81
|
}
|
|
81
82
|
|
|
83
|
+
if (isSeeking)
|
|
84
|
+
{
|
|
85
|
+
UpdateSeekProgress(true);
|
|
86
|
+
}
|
|
87
|
+
|
|
82
88
|
if (progressSlider != null && (seekInput == null || !seekInput.IsDragging))
|
|
83
89
|
{
|
|
84
90
|
float displayedProgress = isCapturingSeek
|
|
@@ -260,6 +266,7 @@ namespace Hyper.Internal
|
|
|
260
266
|
private void SetSeekingPresentation(bool isSeeking)
|
|
261
267
|
{
|
|
262
268
|
ReplayPresentationCanvas.SetSeekingLayer(isSeeking);
|
|
269
|
+
UpdateSeekProgress(isSeeking);
|
|
263
270
|
if (seekLoadingOverlay != null) seekLoadingOverlay.SetActive(isSeeking);
|
|
264
271
|
if (progressSlider != null) progressSlider.interactable = !isSeeking && !ReplaySessionState.HasEnded;
|
|
265
272
|
if (playbackSpeedButton != null)
|
|
@@ -404,10 +411,31 @@ namespace Hyper.Internal
|
|
|
404
411
|
seekLoadingOverlay.transform.SetAsFirstSibling();
|
|
405
412
|
seekOverlayBackground = seekLoadingOverlay.GetComponent<Image>();
|
|
406
413
|
if (seekOverlayBackground != null) seekOverlayBackgroundColor = seekOverlayBackground.color;
|
|
414
|
+
seekOverlay = seekLoadingOverlay.GetComponent<ReplaySeekOverlay>();
|
|
407
415
|
seekLoadingOverlay.SetActive(ReplaySessionState.IsSeeking);
|
|
408
416
|
wasSeeking = ReplaySessionState.IsSeeking;
|
|
409
417
|
}
|
|
410
418
|
|
|
419
|
+
private void UpdateSeekProgress(bool isSeeking)
|
|
420
|
+
{
|
|
421
|
+
if (seekOverlay == null) return;
|
|
422
|
+
|
|
423
|
+
float progress = 0f;
|
|
424
|
+
if (!isSeeking)
|
|
425
|
+
{
|
|
426
|
+
progress = 1f;
|
|
427
|
+
}
|
|
428
|
+
else if (!isCapturingSeek && !ReplaySessionState.IsSeekRestartPending)
|
|
429
|
+
{
|
|
430
|
+
float target = ReplaySessionState.SeekTarget01;
|
|
431
|
+
progress = target <= Mathf.Epsilon
|
|
432
|
+
? 1f
|
|
433
|
+
: ReplaySessionState.Progress01 / target;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
seekOverlay.SetProgress(progress);
|
|
437
|
+
}
|
|
438
|
+
|
|
411
439
|
private void ConfigureSeekSnapshot()
|
|
412
440
|
{
|
|
413
441
|
if (seekSnapshotImage == null)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
using TMPro;
|
|
2
|
+
using UnityEngine;
|
|
3
|
+
|
|
4
|
+
namespace Hyper.Internal
|
|
5
|
+
{
|
|
6
|
+
internal sealed class ReplaySeekOverlay : MonoBehaviour
|
|
7
|
+
{
|
|
8
|
+
[SerializeField] private TextMeshProUGUI progressText;
|
|
9
|
+
|
|
10
|
+
internal void SetProgress(float progress01)
|
|
11
|
+
{
|
|
12
|
+
if (progressText == null) return;
|
|
13
|
+
|
|
14
|
+
int percentage = Mathf.RoundToInt(Mathf.Clamp01(progress01) * 100f);
|
|
15
|
+
progressText.text = $"{percentage}%";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|