app.hypergames.hypersdk 1.11.0-beta.13 → 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 +14 -0
- package/HyperLoader.unity +2 -2
- 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 +292 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
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
|
+
|
|
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)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **replay:** keep seek loader animating ([7e13938](https://github.com/mvmhyper/hyper-sdk/commit/7e13938ce718a238506c08c30744ff24ed7fa710))
|
|
14
|
+
|
|
1
15
|
# [1.11.0-beta.13](https://github.com/mvmhyper/hyper-sdk/compare/v1.11.0-beta.12...v1.11.0-beta.13) (2026-08-31)
|
|
2
16
|
|
|
3
17
|
|
package/HyperLoader.unity
CHANGED
|
@@ -304,7 +304,7 @@ RectTransform:
|
|
|
304
304
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
305
305
|
m_AnchorMin: {x: 0, y: 1}
|
|
306
306
|
m_AnchorMax: {x: 0, y: 1}
|
|
307
|
-
m_AnchoredPosition: {x: 489.
|
|
307
|
+
m_AnchoredPosition: {x: 489.20746, y: -280.1698}
|
|
308
308
|
m_SizeDelta: {x: 1044.9, y: 239.347}
|
|
309
309
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
310
310
|
--- !u!114 &751153944
|
|
@@ -1092,7 +1092,7 @@ RectTransform:
|
|
|
1092
1092
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
1093
1093
|
m_AnchorMin: {x: 0, y: 1}
|
|
1094
1094
|
m_AnchorMax: {x: 0, y: 1}
|
|
1095
|
-
m_AnchoredPosition: {x: 489.
|
|
1095
|
+
m_AnchoredPosition: {x: 489.20746, y: -133.2274}
|
|
1096
1096
|
m_SizeDelta: {x: 875, y: 54.5378}
|
|
1097
1097
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
1098
1098
|
--- !u!1 &2874543288936963705
|
|
@@ -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
|
+
}
|