app.hypergames.hypersdk 1.10.0 → 1.11.0-beta.2

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.
Files changed (115) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/Editor/Scripts/Setup/HyperSDKInstaller.cs +42 -0
  3. package/Editor/Scripts/Tools/HyperGameModeMenu.cs +27 -7
  4. package/Runtime/Internal/AssemblyInfo.cs +1 -0
  5. package/Runtime/Internal/Bootstrap/HyperLoader.cs +186 -8
  6. package/Runtime/Internal/Core/HyperRuntime.cs +82 -0
  7. package/Runtime/Internal/Core/HyperRuntimeHost.cs +6 -0
  8. package/Runtime/Internal/Data/URLData.cs +18 -1
  9. package/Runtime/Internal/Managers/BackendManager.cs +281 -24
  10. package/Runtime/Internal/Managers/DataManager.cs +207 -21
  11. package/Runtime/Internal/Managers/GameManager.cs +365 -17
  12. package/Runtime/Internal/Managers/ReplayManager.cs +117 -0
  13. package/Runtime/Internal/Managers/ReplayManager.cs.meta +11 -0
  14. package/Runtime/Internal/Managers/TimeManager.cs +54 -12
  15. package/Runtime/Internal/Replay/ReplayActivityRecorder.cs +182 -0
  16. package/Runtime/Internal/Replay/ReplayActivityRecorder.cs.meta +2 -0
  17. package/Runtime/Internal/Replay/ReplaySessionState.cs +181 -0
  18. package/Runtime/Internal/Replay/ReplaySessionState.cs.meta +2 -0
  19. package/Runtime/Internal/Replay.meta +8 -0
  20. package/Runtime/Internal/ScriptableObjects/HyperSDKSettings.cs +5 -0
  21. package/Runtime/Internal/UI/Animation/LoadingTextAnimation.cs +15 -1
  22. package/Runtime/Internal/UI/Components/ControlBar.cs +25 -2
  23. package/Runtime/Internal/UI/Components/PauseButton.cs +4 -1
  24. package/Runtime/Internal/UI/Components/ReplayController.cs +527 -0
  25. package/Runtime/Internal/UI/Components/ReplayController.cs.meta +2 -0
  26. package/Runtime/Internal/UI/Components/ReplayMarkerPulse.cs +89 -0
  27. package/Runtime/Internal/UI/Components/ReplayMarkerPulse.cs.meta +2 -0
  28. package/Runtime/Internal/UI/Components/ReplayPresentationCanvas.cs +183 -0
  29. package/Runtime/Internal/UI/Components/ReplayPresentationCanvas.cs.meta +2 -0
  30. package/Runtime/Internal/UI/Modals/LoadingFailedModal.cs +12 -0
  31. package/Runtime/Internal/UI/Modals/ReplayOverModal.cs +61 -0
  32. package/Runtime/Internal/UI/Modals/ReplayOverModal.cs.meta +2 -0
  33. package/Runtime/Internal/UI/Modals/StartingInstructionModal.cs +38 -29
  34. package/Runtime/Public/AssemblyInfo.cs +3 -0
  35. package/Runtime/Public/AssemblyInfo.cs.meta +2 -0
  36. package/Runtime/Public/Core/HyperSDK.cs +305 -109
  37. package/Runtime/Public/Hyper.asmdef +2 -1
  38. package/Runtime/Public/Replay/ReplayPlaybackEngine.cs +555 -0
  39. package/Runtime/Public/Replay/ReplayPlaybackEngine.cs.meta +2 -0
  40. package/Runtime/Public/Replay.meta +8 -0
  41. package/Runtime/Resources/Fonts/Nunito/Nunito-Light SDF.asset +528 -521
  42. package/Runtime/Resources/Materials/HyperReplayScanlines.preset +340 -0
  43. package/Runtime/Resources/Materials/HyperReplayScanlines.preset.meta +8 -0
  44. package/Runtime/Resources/Materials/ReplayScanlineOverlay.mat +55 -0
  45. package/Runtime/Resources/Materials/ReplayScanlineOverlay.mat.meta +8 -0
  46. package/Runtime/Resources/Shaders/ReplayScanlineOverlay.shader +150 -0
  47. package/Runtime/Resources/Shaders/ReplayScanlineOverlay.shader.meta +10 -0
  48. package/Runtime/Resources/Sprites/Replays/Fallback avatar.png +0 -0
  49. package/Runtime/Resources/Sprites/Replays/Fallback avatar.png.meta +156 -0
  50. package/Runtime/Resources/Sprites/Replays/Recording.png +0 -0
  51. package/Runtime/Resources/Sprites/Replays/Recording.png.meta +156 -0
  52. package/Runtime/Resources/Sprites/Replays/Replay frame.png +0 -0
  53. package/Runtime/Resources/Sprites/Replays/Replay frame.png.meta +156 -0
  54. package/Runtime/Resources/Sprites/Replays/Replay modal icon.png +0 -0
  55. package/Runtime/Resources/Sprites/Replays/Replay modal icon.png.meta +156 -0
  56. package/Runtime/Resources/Sprites/Replays.meta +8 -0
  57. package/Runtime/Resources/UIPrefabs/ControlBar.prefab +169 -2
  58. package/Runtime/Resources/UIPrefabs/GamePausedModal_Battle.prefab +1 -1
  59. package/Runtime/Resources/UIPrefabs/ReplayController.prefab +1269 -0
  60. package/Runtime/Resources/UIPrefabs/ReplayController.prefab.meta +7 -0
  61. package/Runtime/Resources/UIPrefabs/ReplayInputBlocker.prefab +90 -0
  62. package/Runtime/Resources/UIPrefabs/ReplayInputBlocker.prefab.meta +7 -0
  63. package/Runtime/Resources/UIPrefabs/ReplayOverModal.prefab +958 -0
  64. package/Runtime/Resources/UIPrefabs/ReplayOverModal.prefab.meta +7 -0
  65. package/Runtime/Resources/UIPrefabs/ReplaySeekOverlay.prefab +189 -0
  66. package/Runtime/Resources/UIPrefabs/ReplaySeekOverlay.prefab.meta +7 -0
  67. package/Runtime/Resources/UIPrefabs/SnackBar.prefab +2 -2
  68. package/Runtime/Shared/AssemblyInfo.cs +5 -0
  69. package/Runtime/Shared/AssemblyInfo.cs.meta +11 -0
  70. package/Runtime/Shared/DTOs/Enums.cs +8 -3
  71. package/Runtime/Shared/DTOs/Score/ScoreSnapshot.cs +13 -1
  72. package/Runtime/Shared/Replay/IReplayPlaybackEngine.cs +37 -0
  73. package/Runtime/Shared/Replay/IReplayPlaybackEngine.cs.meta +11 -0
  74. package/Runtime/Shared/Replay.meta +8 -0
  75. package/Samples~/LaneRunner/LaneRunnerSample.unity +1603 -0
  76. package/Samples~/LaneRunner/LaneRunnerSample.unity.meta +7 -0
  77. package/Samples~/LaneRunner/Materials/DoubleScore.mat +86 -0
  78. package/Samples~/LaneRunner/Materials/DoubleScore.mat.meta +8 -0
  79. package/Samples~/LaneRunner/Materials/Ground.mat +84 -0
  80. package/Samples~/LaneRunner/Materials/Ground.mat.meta +8 -0
  81. package/Samples~/LaneRunner/Materials/Lane.mat +84 -0
  82. package/Samples~/LaneRunner/Materials/Lane.mat.meta +8 -0
  83. package/Samples~/LaneRunner/Materials/LaneMarker.mat +84 -0
  84. package/Samples~/LaneRunner/Materials/LaneMarker.mat.meta +8 -0
  85. package/Samples~/LaneRunner/Materials/Obstacle.mat +84 -0
  86. package/Samples~/LaneRunner/Materials/Obstacle.mat.meta +8 -0
  87. package/Samples~/LaneRunner/Materials/Player.mat +84 -0
  88. package/Samples~/LaneRunner/Materials/Player.mat.meta +8 -0
  89. package/Samples~/LaneRunner/Materials.meta +8 -0
  90. package/Samples~/LaneRunner/Prefabs/DoubleScorePickup.prefab +152 -0
  91. package/Samples~/LaneRunner/Prefabs/DoubleScorePickup.prefab.meta +7 -0
  92. package/Samples~/LaneRunner/Prefabs/Obstacle.prefab +152 -0
  93. package/Samples~/LaneRunner/Prefabs/Obstacle.prefab.meta +7 -0
  94. package/Samples~/LaneRunner/Prefabs.meta +8 -0
  95. package/Samples~/LaneRunner/README.md +35 -0
  96. package/Samples~/LaneRunner/README.md.meta +7 -0
  97. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerCommand.cs +9 -0
  98. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerCommand.cs.meta +2 -0
  99. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerGame.cs +93 -0
  100. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerGame.cs.meta +2 -0
  101. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerPlayer.cs +155 -0
  102. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerPlayer.cs.meta +2 -0
  103. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerSpawner.cs +110 -0
  104. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerSpawner.cs.meta +2 -0
  105. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerTrackItem.cs +41 -0
  106. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerTrackItem.cs.meta +2 -0
  107. package/Samples~/LaneRunner/Scripts/Gameplay.meta +8 -0
  108. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerReplayAdapter.cs +62 -0
  109. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerReplayAdapter.cs.meta +2 -0
  110. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerTournamentAdapter.cs +64 -0
  111. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerTournamentAdapter.cs.meta +2 -0
  112. package/Samples~/LaneRunner/Scripts/Hyper.meta +8 -0
  113. package/Samples~/LaneRunner/Scripts.meta +8 -0
  114. package/Tests.meta +8 -0
  115. package/package.json +8 -1
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 0d50c17bcbaf9164e964e5be84cc0843
3
+ PrefabImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,189 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!1 &7194081263312604041
4
+ GameObject:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ serializedVersion: 6
10
+ m_Component:
11
+ - component: {fileID: 7194081263312604042}
12
+ - component: {fileID: 7194081263312604043}
13
+ - component: {fileID: 7194081263312604044}
14
+ m_Layer: 5
15
+ m_Name: ReplaySeekOverlay
16
+ m_TagString: Untagged
17
+ m_Icon: {fileID: 0}
18
+ m_NavMeshLayer: 0
19
+ m_StaticEditorFlags: 0
20
+ m_IsActive: 1
21
+ --- !u!224 &7194081263312604042
22
+ RectTransform:
23
+ m_ObjectHideFlags: 0
24
+ m_CorrespondingSourceObject: {fileID: 0}
25
+ m_PrefabInstance: {fileID: 0}
26
+ m_PrefabAsset: {fileID: 0}
27
+ m_GameObject: {fileID: 7194081263312604041}
28
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29
+ m_LocalPosition: {x: 0, y: 0, z: 0}
30
+ m_LocalScale: {x: 1, y: 1, z: 1}
31
+ m_ConstrainProportionsScale: 0
32
+ m_Children:
33
+ - {fileID: 1405550522960570861}
34
+ m_Father: {fileID: 0}
35
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
36
+ m_AnchorMin: {x: 0, y: 0}
37
+ m_AnchorMax: {x: 1, y: 1}
38
+ m_AnchoredPosition: {x: 0, y: 0}
39
+ m_SizeDelta: {x: 0, y: 0}
40
+ m_Pivot: {x: 0.5, y: 0.5}
41
+ --- !u!222 &7194081263312604043
42
+ CanvasRenderer:
43
+ m_ObjectHideFlags: 0
44
+ m_CorrespondingSourceObject: {fileID: 0}
45
+ m_PrefabInstance: {fileID: 0}
46
+ m_PrefabAsset: {fileID: 0}
47
+ m_GameObject: {fileID: 7194081263312604041}
48
+ m_CullTransparentMesh: 1
49
+ --- !u!114 &7194081263312604044
50
+ MonoBehaviour:
51
+ m_ObjectHideFlags: 0
52
+ m_CorrespondingSourceObject: {fileID: 0}
53
+ m_PrefabInstance: {fileID: 0}
54
+ m_PrefabAsset: {fileID: 0}
55
+ m_GameObject: {fileID: 7194081263312604041}
56
+ m_Enabled: 1
57
+ m_EditorHideFlags: 0
58
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
59
+ m_Name:
60
+ m_EditorClassIdentifier:
61
+ m_Material: {fileID: 0}
62
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
63
+ m_RaycastTarget: 1
64
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
65
+ m_Maskable: 1
66
+ m_OnCullStateChanged:
67
+ m_PersistentCalls:
68
+ m_Calls: []
69
+ m_Sprite: {fileID: 0}
70
+ m_Type: 0
71
+ m_PreserveAspect: 0
72
+ m_FillCenter: 1
73
+ m_FillMethod: 4
74
+ m_FillAmount: 1
75
+ m_FillClockwise: 1
76
+ m_FillOrigin: 0
77
+ m_UseSpriteMesh: 0
78
+ m_PixelsPerUnitMultiplier: 1
79
+ --- !u!1 &8073796807547131747
80
+ GameObject:
81
+ m_ObjectHideFlags: 0
82
+ m_CorrespondingSourceObject: {fileID: 0}
83
+ m_PrefabInstance: {fileID: 0}
84
+ m_PrefabAsset: {fileID: 0}
85
+ serializedVersion: 6
86
+ m_Component:
87
+ - component: {fileID: 1405550522960570861}
88
+ - component: {fileID: 6724538761259836454}
89
+ - component: {fileID: 1154265679268673513}
90
+ - component: {fileID: 4775253157052730056}
91
+ - component: {fileID: 2032832027083946277}
92
+ m_Layer: 5
93
+ m_Name: Circle Loader
94
+ m_TagString: Untagged
95
+ m_Icon: {fileID: 0}
96
+ m_NavMeshLayer: 0
97
+ m_StaticEditorFlags: 0
98
+ m_IsActive: 1
99
+ --- !u!224 &1405550522960570861
100
+ RectTransform:
101
+ m_ObjectHideFlags: 0
102
+ m_CorrespondingSourceObject: {fileID: 0}
103
+ m_PrefabInstance: {fileID: 0}
104
+ m_PrefabAsset: {fileID: 0}
105
+ m_GameObject: {fileID: 8073796807547131747}
106
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
107
+ m_LocalPosition: {x: 0, y: 0, z: 0}
108
+ m_LocalScale: {x: 1, y: 1, z: 1}
109
+ m_ConstrainProportionsScale: 1
110
+ m_Children: []
111
+ m_Father: {fileID: 7194081263312604042}
112
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
113
+ m_AnchorMin: {x: 0.5, y: 0.5}
114
+ m_AnchorMax: {x: 0.5, y: 0.5}
115
+ m_AnchoredPosition: {x: 0, y: 0}
116
+ m_SizeDelta: {x: 100, y: 100}
117
+ m_Pivot: {x: 0.5, y: 0.5}
118
+ --- !u!222 &6724538761259836454
119
+ CanvasRenderer:
120
+ m_ObjectHideFlags: 0
121
+ m_CorrespondingSourceObject: {fileID: 0}
122
+ m_PrefabInstance: {fileID: 0}
123
+ m_PrefabAsset: {fileID: 0}
124
+ m_GameObject: {fileID: 8073796807547131747}
125
+ m_CullTransparentMesh: 1
126
+ --- !u!114 &1154265679268673513
127
+ MonoBehaviour:
128
+ m_ObjectHideFlags: 0
129
+ m_CorrespondingSourceObject: {fileID: 0}
130
+ m_PrefabInstance: {fileID: 0}
131
+ m_PrefabAsset: {fileID: 0}
132
+ m_GameObject: {fileID: 8073796807547131747}
133
+ m_Enabled: 1
134
+ m_EditorHideFlags: 0
135
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
136
+ m_Name:
137
+ m_EditorClassIdentifier:
138
+ m_Material: {fileID: 0}
139
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
140
+ m_RaycastTarget: 1
141
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
142
+ m_Maskable: 1
143
+ m_OnCullStateChanged:
144
+ m_PersistentCalls:
145
+ m_Calls: []
146
+ m_Sprite: {fileID: 21300000, guid: 5c57961c662dfdd46a321974424c3f15, type: 3}
147
+ m_Type: 0
148
+ m_PreserveAspect: 1
149
+ m_FillCenter: 1
150
+ m_FillMethod: 4
151
+ m_FillAmount: 1
152
+ m_FillClockwise: 1
153
+ m_FillOrigin: 0
154
+ m_UseSpriteMesh: 0
155
+ m_PixelsPerUnitMultiplier: 1
156
+ --- !u!95 &4775253157052730056
157
+ Animator:
158
+ serializedVersion: 7
159
+ m_ObjectHideFlags: 0
160
+ m_CorrespondingSourceObject: {fileID: 0}
161
+ m_PrefabInstance: {fileID: 0}
162
+ m_PrefabAsset: {fileID: 0}
163
+ m_GameObject: {fileID: 8073796807547131747}
164
+ m_Enabled: 1
165
+ m_Avatar: {fileID: 0}
166
+ m_Controller: {fileID: 9100000, guid: 3b038a3cf997e10408e5ae13866f375e, type: 2}
167
+ m_CullingMode: 0
168
+ m_UpdateMode: 2
169
+ m_ApplyRootMotion: 0
170
+ m_LinearVelocityBlending: 0
171
+ m_StabilizeFeet: 0
172
+ m_AnimatePhysics: 0
173
+ m_WarningMessage:
174
+ m_HasTransformHierarchy: 1
175
+ m_AllowConstantClipSamplingOptimization: 1
176
+ m_KeepAnimatorStateOnDisable: 0
177
+ m_WriteDefaultValuesOnDisable: 0
178
+ --- !u!225 &2032832027083946277
179
+ CanvasGroup:
180
+ m_ObjectHideFlags: 0
181
+ m_CorrespondingSourceObject: {fileID: 0}
182
+ m_PrefabInstance: {fileID: 0}
183
+ m_PrefabAsset: {fileID: 0}
184
+ m_GameObject: {fileID: 8073796807547131747}
185
+ m_Enabled: 1
186
+ m_Alpha: 1
187
+ m_Interactable: 1
188
+ m_BlocksRaycasts: 1
189
+ m_IgnoreParentGroups: 1
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 8d7bb2f6da6c4ea1ae28721b16c76c6d
3
+ PrefabImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -35,7 +35,7 @@ RectTransform:
35
35
  m_AnchorMin: {x: 0, y: 1}
36
36
  m_AnchorMax: {x: 1, y: 1}
37
37
  m_AnchoredPosition: {x: 0, y: -163.909}
38
- m_SizeDelta: {x: 0, y: 163.909}
38
+ m_SizeDelta: {x: 0, y: 166.0843}
39
39
  m_Pivot: {x: 0.5, y: 0}
40
40
  --- !u!114 &768694916858949612
41
41
  MonoBehaviour:
@@ -251,7 +251,7 @@ RectTransform:
251
251
  m_AnchorMin: {x: 0, y: 0}
252
252
  m_AnchorMax: {x: 1, y: 1}
253
253
  m_AnchoredPosition: {x: 0, y: 0}
254
- m_SizeDelta: {x: 0, y: 0.00012207}
254
+ m_SizeDelta: {x: 0, y: 0}
255
255
  m_Pivot: {x: 0.5, y: 0.5}
256
256
  --- !u!222 &4077741713236914486
257
257
  CanvasRenderer:
@@ -0,0 +1,5 @@
1
+ using System.Runtime.CompilerServices;
2
+
3
+ [assembly: InternalsVisibleTo("Hyper")]
4
+ [assembly: InternalsVisibleTo("Hyper.Internal")]
5
+ [assembly: InternalsVisibleTo("Hyper.Tests.EditMode")]
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: ebc245f2f24e42bf8d0b4aceb7c5f95d
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -5,7 +5,7 @@ using UnityEngine;
5
5
  namespace Hyper.Shared
6
6
  {
7
7
  /// <summary>
8
- /// Game mode: Practice or Battle (PvP).
8
+ /// SDK gameplay mode.
9
9
  /// </summary>
10
10
  public enum GameMode
11
11
  {
@@ -17,7 +17,12 @@ namespace Hyper.Shared
17
17
  /// <summary>
18
18
  /// Multiplayer battle mode with time limit.
19
19
  /// </summary>
20
- Battle
20
+ Battle,
21
+
22
+ /// <summary>
23
+ /// Playback of a recorded battle session with live input and submissions disabled.
24
+ /// </summary>
25
+ Replay
21
26
  }
22
27
 
23
28
  /// <summary>
@@ -186,4 +191,4 @@ namespace Hyper.Shared
186
191
  /// </summary>
187
192
  Right
188
193
  }
189
- }
194
+ }
@@ -1,4 +1,5 @@
1
1
  using System;
2
+ using System.Collections.Generic;
2
3
 
3
4
  namespace Hyper.Shared
4
5
  {
@@ -23,5 +24,16 @@ namespace Hyper.Shared
23
24
  /// Gameplay modifiers active at the time of this snapshot (combo multipliers, powerups, etc.).
24
25
  /// </summary>
25
26
  public GameplayModifiers gameplayModifiers;
27
+
28
+ /// <summary>
29
+ /// Compact replay records captured since the previous score snapshot.
30
+ /// Shapes: [time, x, y], [time, value], or [time, actionName].
31
+ /// </summary>
32
+ public List<object[]> playActivities;
33
+
34
+ public bool ShouldSerializeplayActivities()
35
+ {
36
+ return playActivities != null && playActivities.Count > 0;
37
+ }
26
38
  }
27
- }
39
+ }
@@ -0,0 +1,37 @@
1
+ using System;
2
+
3
+ namespace Hyper.Shared
4
+ {
5
+ /// <summary>
6
+ /// Internal contract used by the SDK runtime to drive replay playback without
7
+ /// introducing an assembly dependency from Hyper.Internal to Hyper.
8
+ /// </summary>
9
+ internal interface IReplayPlaybackEngine
10
+ {
11
+ event Action<float, float> OnValues2;
12
+ event Action<float> OnValue;
13
+ event Action<float, float, float> OnValues;
14
+ event Action<string> OnAction;
15
+ event Action<string, string> OnActions;
16
+ event Action<string, float, float> OnActionValues;
17
+ event Action<float, float, string> OnValuesAction;
18
+ event Action<string, float> OnActionValue;
19
+ event Action<float, string> OnValueAction;
20
+ event Action<string> OnActionPreparing;
21
+ event Action OnGameStarted;
22
+ event Action OnGameEnded;
23
+
24
+ bool IsPlaying { get; }
25
+ double DurationSeconds { get; }
26
+ double ElapsedSeconds { get; }
27
+ float Progress01 { get; }
28
+ double ActionPreparationLeadSeconds { get; set; }
29
+
30
+ void Begin(string ndjson);
31
+ void Tick();
32
+ void Tick(double fixedSimulationDeltaSeconds);
33
+ void Stop();
34
+ void Suspend();
35
+ void Resume();
36
+ }
37
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 6db21fddf49346819a0c433082add2a1
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: cda8edea3bc8ee647a90f4c5eb9f5c48
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant: