app.hypergames.hypersdk 1.9.1 → 1.11.0-beta.1
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 +37 -0
- package/Editor/Scripts/Setup/HyperSDKInstaller.cs +42 -0
- package/Editor/Scripts/Tools/HyperGameModeMenu.cs +27 -7
- package/Runtime/Internal/AssemblyInfo.cs +1 -0
- package/Runtime/Internal/Bootstrap/HyperLoader.cs +186 -8
- package/Runtime/Internal/Core/HyperRuntime.cs +58 -0
- package/Runtime/Internal/Core/HyperRuntimeHost.cs +6 -0
- package/Runtime/Internal/Data/URLData.cs +18 -1
- package/Runtime/Internal/Managers/BackendManager.cs +281 -24
- package/Runtime/Internal/Managers/DataManager.cs +207 -21
- package/Runtime/Internal/Managers/GameManager.cs +350 -15
- package/Runtime/Internal/Managers/ReplayManager.cs +111 -0
- package/Runtime/Internal/Managers/ReplayManager.cs.meta +11 -0
- package/Runtime/Internal/Managers/TimeManager.cs +56 -14
- package/Runtime/Internal/Replay/ReplayActivityRecorder.cs +182 -0
- package/Runtime/Internal/Replay/ReplayActivityRecorder.cs.meta +2 -0
- package/Runtime/Internal/Replay/ReplaySessionState.cs +181 -0
- package/Runtime/Internal/Replay/ReplaySessionState.cs.meta +2 -0
- package/Runtime/Internal/Replay.meta +8 -0
- package/Runtime/Internal/ScriptableObjects/HyperSDKSettings.cs +5 -0
- package/Runtime/Internal/UI/Animation/LoadingTextAnimation.cs +15 -1
- package/Runtime/Internal/UI/Components/ConcaveImage.cs +147 -0
- package/Runtime/Internal/UI/Components/ConcaveImage.cs.meta +11 -0
- package/Runtime/Internal/UI/Components/ControlBar.cs +86 -6
- package/Runtime/Internal/UI/Components/PauseButton.cs +4 -1
- package/Runtime/Internal/UI/Components/ReplayController.cs +501 -0
- package/Runtime/Internal/UI/Components/ReplayController.cs.meta +2 -0
- package/Runtime/Internal/UI/Components/ReplayMarkerPulse.cs +89 -0
- package/Runtime/Internal/UI/Components/ReplayMarkerPulse.cs.meta +2 -0
- package/Runtime/Internal/UI/Components/ReplayPresentationCanvas.cs +183 -0
- package/Runtime/Internal/UI/Components/ReplayPresentationCanvas.cs.meta +2 -0
- package/Runtime/Internal/UI/Components/SnackBar.cs +2 -9
- package/Runtime/Internal/UI/Modals/LoadingFailedModal.cs +12 -0
- package/Runtime/Internal/UI/Modals/ReplayOverModal.cs +54 -0
- package/Runtime/Internal/UI/Modals/ReplayOverModal.cs.meta +2 -0
- package/Runtime/Internal/UI/Modals/StartingInstructionModal.cs +38 -29
- package/Runtime/Public/AssemblyInfo.cs +3 -0
- package/Runtime/Public/AssemblyInfo.cs.meta +2 -0
- package/Runtime/Public/Core/HyperSDK.cs +305 -109
- package/Runtime/Public/Hyper.asmdef +2 -1
- package/Runtime/Public/Replay/ReplayPlaybackEngine.cs +555 -0
- package/Runtime/Public/Replay/ReplayPlaybackEngine.cs.meta +2 -0
- package/Runtime/Public/Replay.meta +8 -0
- package/Runtime/Resources/Fonts/Nunito/Nunito-Light SDF.asset +528 -521
- package/Runtime/Resources/Materials/HyperReplayScanlines.preset +340 -0
- package/Runtime/Resources/Materials/HyperReplayScanlines.preset.meta +8 -0
- package/Runtime/Resources/Materials/ReplayScanlineOverlay.mat +55 -0
- package/Runtime/Resources/Materials/ReplayScanlineOverlay.mat.meta +8 -0
- package/Runtime/Resources/Shaders/ConcaveImage.shader +155 -0
- package/Runtime/Resources/Shaders/ConcaveImage.shader.meta +10 -0
- package/Runtime/Resources/Shaders/ReplayScanlineOverlay.shader +150 -0
- package/Runtime/Resources/Shaders/ReplayScanlineOverlay.shader.meta +10 -0
- package/Runtime/Resources/Sprites/Replays/Fallback avatar.png +0 -0
- package/Runtime/Resources/Sprites/Replays/Fallback avatar.png.meta +156 -0
- package/Runtime/Resources/Sprites/Replays/Recording.png +0 -0
- package/Runtime/Resources/Sprites/{Control Bar/Top_Black_Rounded_Bar_Portrait_IV.png.meta → Replays/Recording.png.meta} +16 -29
- package/Runtime/Resources/Sprites/Replays/Replay frame.png +0 -0
- package/Runtime/Resources/Sprites/Replays/Replay frame.png.meta +156 -0
- package/Runtime/Resources/Sprites/Replays/Replay modal icon.png +0 -0
- package/Runtime/Resources/Sprites/Replays/Replay modal icon.png.meta +156 -0
- package/Runtime/Resources/Sprites/Replays.meta +8 -0
- package/Runtime/Resources/UIPrefabs/ControlBar.prefab +389 -42
- package/Runtime/Resources/UIPrefabs/GamePausedModal_Battle.prefab +1 -1
- package/Runtime/Resources/UIPrefabs/ReplayController.prefab +1269 -0
- package/Runtime/Resources/UIPrefabs/ReplayController.prefab.meta +7 -0
- package/Runtime/Resources/UIPrefabs/ReplayInputBlocker.prefab +90 -0
- package/Runtime/Resources/UIPrefabs/ReplayInputBlocker.prefab.meta +7 -0
- package/Runtime/Resources/UIPrefabs/ReplayOverModal.prefab +958 -0
- package/Runtime/Resources/UIPrefabs/ReplayOverModal.prefab.meta +7 -0
- package/Runtime/Resources/UIPrefabs/ReplaySeekOverlay.prefab +189 -0
- package/Runtime/Resources/UIPrefabs/ReplaySeekOverlay.prefab.meta +7 -0
- package/Runtime/Resources/UIPrefabs/Rounded Cutout.prefab +96 -0
- package/Runtime/Resources/UIPrefabs/Rounded Cutout.prefab.meta +7 -0
- package/Runtime/Resources/UIPrefabs/SnackBar.prefab +23 -6
- package/Runtime/Shared/AssemblyInfo.cs +5 -0
- package/Runtime/Shared/AssemblyInfo.cs.meta +11 -0
- package/Runtime/Shared/DTOs/Enums.cs +8 -3
- package/Runtime/Shared/DTOs/Score/ScoreSnapshot.cs +13 -1
- package/Runtime/Shared/Replay/IReplayPlaybackEngine.cs +37 -0
- package/Runtime/Shared/Replay/IReplayPlaybackEngine.cs.meta +11 -0
- package/Runtime/Shared/Replay.meta +8 -0
- package/Runtime/Shared/Utils/HyperRandom.cs +25 -5
- package/Samples~/LaneRunner/LaneRunnerSample.unity +1603 -0
- package/Samples~/LaneRunner/LaneRunnerSample.unity.meta +7 -0
- package/Samples~/LaneRunner/Materials/DoubleScore.mat +86 -0
- package/Samples~/LaneRunner/Materials/DoubleScore.mat.meta +8 -0
- package/Samples~/LaneRunner/Materials/Ground.mat +84 -0
- package/Samples~/LaneRunner/Materials/Ground.mat.meta +8 -0
- package/Samples~/LaneRunner/Materials/Lane.mat +84 -0
- package/Samples~/LaneRunner/Materials/Lane.mat.meta +8 -0
- package/Samples~/LaneRunner/Materials/LaneMarker.mat +84 -0
- package/Samples~/LaneRunner/Materials/LaneMarker.mat.meta +8 -0
- package/Samples~/LaneRunner/Materials/Obstacle.mat +84 -0
- package/Samples~/LaneRunner/Materials/Obstacle.mat.meta +8 -0
- package/Samples~/LaneRunner/Materials/Player.mat +84 -0
- package/Samples~/LaneRunner/Materials/Player.mat.meta +8 -0
- package/Samples~/LaneRunner/Materials.meta +8 -0
- package/Samples~/LaneRunner/Prefabs/DoubleScorePickup.prefab +152 -0
- package/Samples~/LaneRunner/Prefabs/DoubleScorePickup.prefab.meta +7 -0
- package/Samples~/LaneRunner/Prefabs/Obstacle.prefab +152 -0
- package/Samples~/LaneRunner/Prefabs/Obstacle.prefab.meta +7 -0
- package/Samples~/LaneRunner/Prefabs.meta +8 -0
- package/Samples~/LaneRunner/README.md +35 -0
- package/Samples~/LaneRunner/README.md.meta +7 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerCommand.cs +9 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerCommand.cs.meta +2 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerGame.cs +93 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerGame.cs.meta +2 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerPlayer.cs +155 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerPlayer.cs.meta +2 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerSpawner.cs +110 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerSpawner.cs.meta +2 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerTrackItem.cs +41 -0
- package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerTrackItem.cs.meta +2 -0
- package/Samples~/LaneRunner/Scripts/Gameplay.meta +8 -0
- package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerReplayAdapter.cs +62 -0
- package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerReplayAdapter.cs.meta +2 -0
- package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerTournamentAdapter.cs +64 -0
- package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerTournamentAdapter.cs.meta +2 -0
- package/Samples~/LaneRunner/Scripts/Hyper.meta +8 -0
- package/Samples~/LaneRunner/Scripts.meta +8 -0
- package/Tests.meta +8 -0
- package/package.json +9 -3
- package/Runtime/Resources/Sprites/Control Bar/Top_Black_Rounded_Bar_Portrait_IV.png +0 -0
|
@@ -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,96 @@
|
|
|
1
|
+
%YAML 1.1
|
|
2
|
+
%TAG !u! tag:unity3d.com,2011:
|
|
3
|
+
--- !u!1 &975678129233418977
|
|
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: 7735793393820318980}
|
|
12
|
+
- component: {fileID: 5898651335449289899}
|
|
13
|
+
- component: {fileID: 3226358049917684236}
|
|
14
|
+
- component: {fileID: 6574686447719444045}
|
|
15
|
+
m_Layer: 5
|
|
16
|
+
m_Name: Rounded Cutout
|
|
17
|
+
m_TagString: Untagged
|
|
18
|
+
m_Icon: {fileID: 0}
|
|
19
|
+
m_NavMeshLayer: 0
|
|
20
|
+
m_StaticEditorFlags: 0
|
|
21
|
+
m_IsActive: 1
|
|
22
|
+
--- !u!224 &7735793393820318980
|
|
23
|
+
RectTransform:
|
|
24
|
+
m_ObjectHideFlags: 0
|
|
25
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
26
|
+
m_PrefabInstance: {fileID: 0}
|
|
27
|
+
m_PrefabAsset: {fileID: 0}
|
|
28
|
+
m_GameObject: {fileID: 975678129233418977}
|
|
29
|
+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
30
|
+
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
31
|
+
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
32
|
+
m_ConstrainProportionsScale: 0
|
|
33
|
+
m_Children: []
|
|
34
|
+
m_Father: {fileID: 0}
|
|
35
|
+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
36
|
+
m_AnchorMin: {x: 0, y: 1}
|
|
37
|
+
m_AnchorMax: {x: 1, y: 1}
|
|
38
|
+
m_AnchoredPosition: {x: 0, y: -93.5871}
|
|
39
|
+
m_SizeDelta: {x: 0, y: 187.1742}
|
|
40
|
+
m_Pivot: {x: 0.5, y: 0.5}
|
|
41
|
+
--- !u!222 &5898651335449289899
|
|
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: 975678129233418977}
|
|
48
|
+
m_CullTransparentMesh: 1
|
|
49
|
+
--- !u!114 &3226358049917684236
|
|
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: 975678129233418977}
|
|
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: 1, g: 1, b: 1, 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!114 &6574686447719444045
|
|
80
|
+
MonoBehaviour:
|
|
81
|
+
m_ObjectHideFlags: 0
|
|
82
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
83
|
+
m_PrefabInstance: {fileID: 0}
|
|
84
|
+
m_PrefabAsset: {fileID: 0}
|
|
85
|
+
m_GameObject: {fileID: 975678129233418977}
|
|
86
|
+
m_Enabled: 1
|
|
87
|
+
m_EditorHideFlags: 0
|
|
88
|
+
m_Script: {fileID: 11500000, guid: d8d6fbd710f94d5ab0779c13789d66d7, type: 3}
|
|
89
|
+
m_Name:
|
|
90
|
+
m_EditorClassIdentifier:
|
|
91
|
+
sideInset: 0
|
|
92
|
+
cutoutHeight: 55
|
|
93
|
+
cornerRadius: 75
|
|
94
|
+
aaSoftness: 1
|
|
95
|
+
transparentCutout: 1
|
|
96
|
+
cutoutColor: {r: 1, g: 0, b: 0, a: 1}
|
|
@@ -34,8 +34,8 @@ RectTransform:
|
|
|
34
34
|
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
|
|
35
35
|
m_AnchorMin: {x: 0, y: 1}
|
|
36
36
|
m_AnchorMax: {x: 1, y: 1}
|
|
37
|
-
m_AnchoredPosition: {x: 0, y: -
|
|
38
|
-
m_SizeDelta: {x: 0, y:
|
|
37
|
+
m_AnchoredPosition: {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:
|
|
@@ -225,6 +225,7 @@ GameObject:
|
|
|
225
225
|
- component: {fileID: 4258396565476554788}
|
|
226
226
|
- component: {fileID: 4077741713236914486}
|
|
227
227
|
- component: {fileID: 4812839430072998803}
|
|
228
|
+
- component: {fileID: 8767445059493422347}
|
|
228
229
|
m_Layer: 5
|
|
229
230
|
m_Name: Status Bar
|
|
230
231
|
m_TagString: Untagged
|
|
@@ -250,7 +251,7 @@ RectTransform:
|
|
|
250
251
|
m_AnchorMin: {x: 0, y: 0}
|
|
251
252
|
m_AnchorMax: {x: 1, y: 1}
|
|
252
253
|
m_AnchoredPosition: {x: 0, y: 0}
|
|
253
|
-
m_SizeDelta: {x: 0, y: 0
|
|
254
|
+
m_SizeDelta: {x: 0, y: 0}
|
|
254
255
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
255
256
|
--- !u!222 &4077741713236914486
|
|
256
257
|
CanvasRenderer:
|
|
@@ -280,8 +281,8 @@ MonoBehaviour:
|
|
|
280
281
|
m_OnCullStateChanged:
|
|
281
282
|
m_PersistentCalls:
|
|
282
283
|
m_Calls: []
|
|
283
|
-
m_Sprite: {fileID:
|
|
284
|
-
m_Type:
|
|
284
|
+
m_Sprite: {fileID: 0}
|
|
285
|
+
m_Type: 0
|
|
285
286
|
m_PreserveAspect: 0
|
|
286
287
|
m_FillCenter: 1
|
|
287
288
|
m_FillMethod: 4
|
|
@@ -290,6 +291,22 @@ MonoBehaviour:
|
|
|
290
291
|
m_FillOrigin: 0
|
|
291
292
|
m_UseSpriteMesh: 0
|
|
292
293
|
m_PixelsPerUnitMultiplier: 2.245
|
|
294
|
+
--- !u!114 &8767445059493422347
|
|
295
|
+
MonoBehaviour:
|
|
296
|
+
m_ObjectHideFlags: 0
|
|
297
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
298
|
+
m_PrefabInstance: {fileID: 0}
|
|
299
|
+
m_PrefabAsset: {fileID: 0}
|
|
300
|
+
m_GameObject: {fileID: 3686714507548732898}
|
|
301
|
+
m_Enabled: 1
|
|
302
|
+
m_EditorHideFlags: 0
|
|
303
|
+
m_Script: {fileID: 11500000, guid: d8d6fbd710f94d5ab0779c13789d66d7, type: 3}
|
|
304
|
+
m_Name:
|
|
305
|
+
m_EditorClassIdentifier:
|
|
306
|
+
sideInset: 0
|
|
307
|
+
cutoutHeight: 55
|
|
308
|
+
cornerRadius: 75
|
|
309
|
+
aaSoftness: 1
|
|
293
310
|
--- !u!1 &5659532641892873429
|
|
294
311
|
GameObject:
|
|
295
312
|
m_ObjectHideFlags: 0
|
|
@@ -326,7 +343,7 @@ RectTransform:
|
|
|
326
343
|
m_AnchorMin: {x: 0, y: 1}
|
|
327
344
|
m_AnchorMax: {x: 0, y: 1}
|
|
328
345
|
m_AnchoredPosition: {x: 214.145, y: -10.5}
|
|
329
|
-
m_SizeDelta: {x:
|
|
346
|
+
m_SizeDelta: {x: 0, y: 0}
|
|
330
347
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
331
348
|
--- !u!222 &8979309464556769080
|
|
332
349
|
CanvasRenderer:
|
|
@@ -5,7 +5,7 @@ using UnityEngine;
|
|
|
5
5
|
namespace Hyper.Shared
|
|
6
6
|
{
|
|
7
7
|
/// <summary>
|
|
8
|
-
///
|
|
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
|
+
}
|
|
@@ -49,8 +49,8 @@ namespace Hyper
|
|
|
49
49
|
public static HyperRandomStream GetContext([CallerFilePath] string filePath = "",
|
|
50
50
|
[CallerMemberName] string memberName = "")
|
|
51
51
|
{
|
|
52
|
-
string
|
|
53
|
-
string contextName = $"{
|
|
52
|
+
string fileIdentifier = GetCallerFileIdentifier(filePath);
|
|
53
|
+
string contextName = $"{fileIdentifier}.{memberName}";
|
|
54
54
|
return GetOrCreateContextRNG(contextName);
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -60,8 +60,8 @@ namespace Hyper
|
|
|
60
60
|
/// </summary>
|
|
61
61
|
public static HyperRandomStream GetShared([CallerFilePath] string filePath = "")
|
|
62
62
|
{
|
|
63
|
-
string
|
|
64
|
-
return GetOrCreateContextRNG(
|
|
63
|
+
string fileIdentifier = GetCallerFileIdentifier(filePath);
|
|
64
|
+
return GetOrCreateContextRNG(fileIdentifier);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/// <summary>
|
|
@@ -138,6 +138,26 @@ namespace Hyper
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
private static string GetCallerFileIdentifier(string filePath)
|
|
142
|
+
{
|
|
143
|
+
#if UNITY_EDITOR
|
|
144
|
+
// A WebGL player treats the backslashes embedded in a Windows
|
|
145
|
+
// CallerFilePath as ordinary characters, so Path returns the full
|
|
146
|
+
// path without its extension. Reproduce that established behavior
|
|
147
|
+
// in the Editor without changing the player implementation.
|
|
148
|
+
string webGLFilePath = (filePath ?? string.Empty).Replace('/', '\\');
|
|
149
|
+
if (webGLFilePath.EndsWith(".cs", StringComparison.OrdinalIgnoreCase))
|
|
150
|
+
{
|
|
151
|
+
webGLFilePath = webGLFilePath.Substring(0, webGLFilePath.Length - 3);
|
|
152
|
+
}
|
|
153
|
+
return webGLFilePath;
|
|
154
|
+
#else
|
|
155
|
+
// Compatibility locked: this is the path handling currently used
|
|
156
|
+
// by live WebGL players and must remain unchanged.
|
|
157
|
+
return System.IO.Path.GetFileNameWithoutExtension(filePath);
|
|
158
|
+
#endif
|
|
159
|
+
}
|
|
160
|
+
|
|
141
161
|
private static int CalculateWebGLSafeSeed(string identifier)
|
|
142
162
|
{
|
|
143
163
|
unchecked
|
|
@@ -508,4 +528,4 @@ namespace Hyper
|
|
|
508
528
|
return list.OrderBy(keySelector).ToList();
|
|
509
529
|
}
|
|
510
530
|
}
|
|
511
|
-
}
|
|
531
|
+
}
|