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,340 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!181963792 &2655988077585873504
4
+ Preset:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ m_Name: HyperReplayScanlines
10
+ m_TargetType:
11
+ m_NativeTypeID: 21
12
+ m_ManagedTypePPtr: {fileID: 0}
13
+ m_ManagedTypeFallback:
14
+ m_Properties:
15
+ - target: {fileID: 0}
16
+ propertyPath: m_Shader
17
+ value:
18
+ objectReference: {fileID: 4800000, guid: 7f3b834bf7bb46aeb13bf05e0a3dca54, type: 3}
19
+ - target: {fileID: 0}
20
+ propertyPath: m_Parent
21
+ value:
22
+ objectReference: {fileID: 0}
23
+ - target: {fileID: 0}
24
+ propertyPath: m_ModifiedSerializedProperties
25
+ value: 0
26
+ objectReference: {fileID: 0}
27
+ - target: {fileID: 0}
28
+ propertyPath: m_ValidKeywords.Array.size
29
+ value: 0
30
+ objectReference: {fileID: 0}
31
+ - target: {fileID: 0}
32
+ propertyPath: m_InvalidKeywords.Array.size
33
+ value: 2
34
+ objectReference: {fileID: 0}
35
+ - target: {fileID: 0}
36
+ propertyPath: 'm_InvalidKeywords.Array.data[0]'
37
+ value: _NOISEMOVEMENTENABLED_ON
38
+ objectReference: {fileID: 0}
39
+ - target: {fileID: 0}
40
+ propertyPath: 'm_InvalidKeywords.Array.data[1]'
41
+ value: _SCANLINESENABLED_ON
42
+ objectReference: {fileID: 0}
43
+ - target: {fileID: 0}
44
+ propertyPath: m_LightmapFlags
45
+ value: 4
46
+ objectReference: {fileID: 0}
47
+ - target: {fileID: 0}
48
+ propertyPath: m_EnableInstancingVariants
49
+ value: 0
50
+ objectReference: {fileID: 0}
51
+ - target: {fileID: 0}
52
+ propertyPath: m_DoubleSidedGI
53
+ value: 0
54
+ objectReference: {fileID: 0}
55
+ - target: {fileID: 0}
56
+ propertyPath: m_CustomRenderQueue
57
+ value: -1
58
+ objectReference: {fileID: 0}
59
+ - target: {fileID: 0}
60
+ propertyPath: stringTagMap.Array.size
61
+ value: 0
62
+ objectReference: {fileID: 0}
63
+ - target: {fileID: 0}
64
+ propertyPath: disabledShaderPasses.Array.size
65
+ value: 0
66
+ objectReference: {fileID: 0}
67
+ - target: {fileID: 0}
68
+ propertyPath: m_LockedProperties
69
+ value:
70
+ objectReference: {fileID: 0}
71
+ - target: {fileID: 0}
72
+ propertyPath: m_SavedProperties.m_TexEnvs.Array.size
73
+ value: 1
74
+ objectReference: {fileID: 0}
75
+ - target: {fileID: 0}
76
+ propertyPath: m_SavedProperties.m_TexEnvs.Array.data[0].first
77
+ value: _MainTex
78
+ objectReference: {fileID: 0}
79
+ - target: {fileID: 0}
80
+ propertyPath: m_SavedProperties.m_TexEnvs.Array.data[0].second.m_Texture
81
+ value:
82
+ objectReference: {fileID: 0}
83
+ - target: {fileID: 0}
84
+ propertyPath: m_SavedProperties.m_TexEnvs.Array.data[0].second.m_Scale.x
85
+ value: 1
86
+ objectReference: {fileID: 0}
87
+ - target: {fileID: 0}
88
+ propertyPath: m_SavedProperties.m_TexEnvs.Array.data[0].second.m_Scale.y
89
+ value: 1
90
+ objectReference: {fileID: 0}
91
+ - target: {fileID: 0}
92
+ propertyPath: m_SavedProperties.m_TexEnvs.Array.data[0].second.m_Offset.x
93
+ value: 0
94
+ objectReference: {fileID: 0}
95
+ - target: {fileID: 0}
96
+ propertyPath: m_SavedProperties.m_TexEnvs.Array.data[0].second.m_Offset.y
97
+ value: 0
98
+ objectReference: {fileID: 0}
99
+ - target: {fileID: 0}
100
+ propertyPath: m_SavedProperties.m_Ints.Array.size
101
+ value: 0
102
+ objectReference: {fileID: 0}
103
+ - target: {fileID: 0}
104
+ propertyPath: m_SavedProperties.m_Floats.Array.size
105
+ value: 22
106
+ objectReference: {fileID: 0}
107
+ - target: {fileID: 0}
108
+ propertyPath: m_SavedProperties.m_Floats.Array.data[0].first
109
+ value: _ColorMask
110
+ objectReference: {fileID: 0}
111
+ - target: {fileID: 0}
112
+ propertyPath: m_SavedProperties.m_Floats.Array.data[0].second
113
+ value: 15
114
+ objectReference: {fileID: 0}
115
+ - target: {fileID: 0}
116
+ propertyPath: m_SavedProperties.m_Floats.Array.data[1].first
117
+ value: _FlickerSpeed
118
+ objectReference: {fileID: 0}
119
+ - target: {fileID: 0}
120
+ propertyPath: m_SavedProperties.m_Floats.Array.data[1].second
121
+ value: 48
122
+ objectReference: {fileID: 0}
123
+ - target: {fileID: 0}
124
+ propertyPath: m_SavedProperties.m_Floats.Array.data[2].first
125
+ value: _FlickerStrength
126
+ objectReference: {fileID: 0}
127
+ - target: {fileID: 0}
128
+ propertyPath: m_SavedProperties.m_Floats.Array.data[2].second
129
+ value: 0.018
130
+ objectReference: {fileID: 0}
131
+ - target: {fileID: 0}
132
+ propertyPath: m_SavedProperties.m_Floats.Array.data[3].first
133
+ value: _LineAlpha
134
+ objectReference: {fileID: 0}
135
+ - target: {fileID: 0}
136
+ propertyPath: m_SavedProperties.m_Floats.Array.data[3].second
137
+ value: 0.25
138
+ objectReference: {fileID: 0}
139
+ - target: {fileID: 0}
140
+ propertyPath: m_SavedProperties.m_Floats.Array.data[4].first
141
+ value: _LineDensity
142
+ objectReference: {fileID: 0}
143
+ - target: {fileID: 0}
144
+ propertyPath: m_SavedProperties.m_Floats.Array.data[4].second
145
+ value: 200
146
+ objectReference: {fileID: 0}
147
+ - target: {fileID: 0}
148
+ propertyPath: m_SavedProperties.m_Floats.Array.data[5].first
149
+ value: _LineThickness
150
+ objectReference: {fileID: 0}
151
+ - target: {fileID: 0}
152
+ propertyPath: m_SavedProperties.m_Floats.Array.data[5].second
153
+ value: 0.5
154
+ objectReference: {fileID: 0}
155
+ - target: {fileID: 0}
156
+ propertyPath: m_SavedProperties.m_Floats.Array.data[6].first
157
+ value: _NoiseAlpha
158
+ objectReference: {fileID: 0}
159
+ - target: {fileID: 0}
160
+ propertyPath: m_SavedProperties.m_Floats.Array.data[6].second
161
+ value: 0.018
162
+ objectReference: {fileID: 0}
163
+ - target: {fileID: 0}
164
+ propertyPath: m_SavedProperties.m_Floats.Array.data[7].first
165
+ value: _NoiseEnabled
166
+ objectReference: {fileID: 0}
167
+ - target: {fileID: 0}
168
+ propertyPath: m_SavedProperties.m_Floats.Array.data[7].second
169
+ value: 0
170
+ objectReference: {fileID: 0}
171
+ - target: {fileID: 0}
172
+ propertyPath: m_SavedProperties.m_Floats.Array.data[8].first
173
+ value: _NoiseMovementEnabled
174
+ objectReference: {fileID: 0}
175
+ - target: {fileID: 0}
176
+ propertyPath: m_SavedProperties.m_Floats.Array.data[8].second
177
+ value: 1
178
+ objectReference: {fileID: 0}
179
+ - target: {fileID: 0}
180
+ propertyPath: m_SavedProperties.m_Floats.Array.data[9].first
181
+ value: _NoiseScale
182
+ objectReference: {fileID: 0}
183
+ - target: {fileID: 0}
184
+ propertyPath: m_SavedProperties.m_Floats.Array.data[9].second
185
+ value: 180
186
+ objectReference: {fileID: 0}
187
+ - target: {fileID: 0}
188
+ propertyPath: m_SavedProperties.m_Floats.Array.data[10].first
189
+ value: _NoiseSpeed
190
+ objectReference: {fileID: 0}
191
+ - target: {fileID: 0}
192
+ propertyPath: m_SavedProperties.m_Floats.Array.data[10].second
193
+ value: 12
194
+ objectReference: {fileID: 0}
195
+ - target: {fileID: 0}
196
+ propertyPath: m_SavedProperties.m_Floats.Array.data[11].first
197
+ value: _ScanSpeed
198
+ objectReference: {fileID: 0}
199
+ - target: {fileID: 0}
200
+ propertyPath: m_SavedProperties.m_Floats.Array.data[11].second
201
+ value: 0.18
202
+ objectReference: {fileID: 0}
203
+ - target: {fileID: 0}
204
+ propertyPath: m_SavedProperties.m_Floats.Array.data[12].first
205
+ value: _ScanlineMovementEnabled
206
+ objectReference: {fileID: 0}
207
+ - target: {fileID: 0}
208
+ propertyPath: m_SavedProperties.m_Floats.Array.data[12].second
209
+ value: 0
210
+ objectReference: {fileID: 0}
211
+ - target: {fileID: 0}
212
+ propertyPath: m_SavedProperties.m_Floats.Array.data[13].first
213
+ value: _ScanlinesEnabled
214
+ objectReference: {fileID: 0}
215
+ - target: {fileID: 0}
216
+ propertyPath: m_SavedProperties.m_Floats.Array.data[13].second
217
+ value: 1
218
+ objectReference: {fileID: 0}
219
+ - target: {fileID: 0}
220
+ propertyPath: m_SavedProperties.m_Floats.Array.data[14].first
221
+ value: _Stencil
222
+ objectReference: {fileID: 0}
223
+ - target: {fileID: 0}
224
+ propertyPath: m_SavedProperties.m_Floats.Array.data[14].second
225
+ value: 0
226
+ objectReference: {fileID: 0}
227
+ - target: {fileID: 0}
228
+ propertyPath: m_SavedProperties.m_Floats.Array.data[15].first
229
+ value: _StencilComp
230
+ objectReference: {fileID: 0}
231
+ - target: {fileID: 0}
232
+ propertyPath: m_SavedProperties.m_Floats.Array.data[15].second
233
+ value: 8
234
+ objectReference: {fileID: 0}
235
+ - target: {fileID: 0}
236
+ propertyPath: m_SavedProperties.m_Floats.Array.data[16].first
237
+ value: _StencilOp
238
+ objectReference: {fileID: 0}
239
+ - target: {fileID: 0}
240
+ propertyPath: m_SavedProperties.m_Floats.Array.data[16].second
241
+ value: 0
242
+ objectReference: {fileID: 0}
243
+ - target: {fileID: 0}
244
+ propertyPath: m_SavedProperties.m_Floats.Array.data[17].first
245
+ value: _StencilReadMask
246
+ objectReference: {fileID: 0}
247
+ - target: {fileID: 0}
248
+ propertyPath: m_SavedProperties.m_Floats.Array.data[17].second
249
+ value: 255
250
+ objectReference: {fileID: 0}
251
+ - target: {fileID: 0}
252
+ propertyPath: m_SavedProperties.m_Floats.Array.data[18].first
253
+ value: _StencilWriteMask
254
+ objectReference: {fileID: 0}
255
+ - target: {fileID: 0}
256
+ propertyPath: m_SavedProperties.m_Floats.Array.data[18].second
257
+ value: 255
258
+ objectReference: {fileID: 0}
259
+ - target: {fileID: 0}
260
+ propertyPath: m_SavedProperties.m_Floats.Array.data[19].first
261
+ value: _UseUIAlphaClip
262
+ objectReference: {fileID: 0}
263
+ - target: {fileID: 0}
264
+ propertyPath: m_SavedProperties.m_Floats.Array.data[19].second
265
+ value: 0
266
+ objectReference: {fileID: 0}
267
+ - target: {fileID: 0}
268
+ propertyPath: m_SavedProperties.m_Floats.Array.data[20].first
269
+ value: _VignetteAlpha
270
+ objectReference: {fileID: 0}
271
+ - target: {fileID: 0}
272
+ propertyPath: m_SavedProperties.m_Floats.Array.data[20].second
273
+ value: 0.25
274
+ objectReference: {fileID: 0}
275
+ - target: {fileID: 0}
276
+ propertyPath: m_SavedProperties.m_Floats.Array.data[21].first
277
+ value: _VignettePower
278
+ objectReference: {fileID: 0}
279
+ - target: {fileID: 0}
280
+ propertyPath: m_SavedProperties.m_Floats.Array.data[21].second
281
+ value: 1.8
282
+ objectReference: {fileID: 0}
283
+ - target: {fileID: 0}
284
+ propertyPath: m_SavedProperties.m_Colors.Array.size
285
+ value: 2
286
+ objectReference: {fileID: 0}
287
+ - target: {fileID: 0}
288
+ propertyPath: m_SavedProperties.m_Colors.Array.data[0].first
289
+ value: _Color
290
+ objectReference: {fileID: 0}
291
+ - target: {fileID: 0}
292
+ propertyPath: m_SavedProperties.m_Colors.Array.data[0].second.r
293
+ value: 1
294
+ objectReference: {fileID: 0}
295
+ - target: {fileID: 0}
296
+ propertyPath: m_SavedProperties.m_Colors.Array.data[0].second.g
297
+ value: 1
298
+ objectReference: {fileID: 0}
299
+ - target: {fileID: 0}
300
+ propertyPath: m_SavedProperties.m_Colors.Array.data[0].second.b
301
+ value: 1
302
+ objectReference: {fileID: 0}
303
+ - target: {fileID: 0}
304
+ propertyPath: m_SavedProperties.m_Colors.Array.data[0].second.a
305
+ value: 1
306
+ objectReference: {fileID: 0}
307
+ - target: {fileID: 0}
308
+ propertyPath: m_SavedProperties.m_Colors.Array.data[1].first
309
+ value: _LineColor
310
+ objectReference: {fileID: 0}
311
+ - target: {fileID: 0}
312
+ propertyPath: m_SavedProperties.m_Colors.Array.data[1].second.r
313
+ value: 0.06
314
+ objectReference: {fileID: 0}
315
+ - target: {fileID: 0}
316
+ propertyPath: m_SavedProperties.m_Colors.Array.data[1].second.g
317
+ value: 0.045
318
+ objectReference: {fileID: 0}
319
+ - target: {fileID: 0}
320
+ propertyPath: m_SavedProperties.m_Colors.Array.data[1].second.b
321
+ value: 0.08
322
+ objectReference: {fileID: 0}
323
+ - target: {fileID: 0}
324
+ propertyPath: m_SavedProperties.m_Colors.Array.data[1].second.a
325
+ value: 1
326
+ objectReference: {fileID: 0}
327
+ - target: {fileID: 0}
328
+ propertyPath: m_BuildTextureStacks.Array.size
329
+ value: 0
330
+ objectReference: {fileID: 0}
331
+ - target: {fileID: 0}
332
+ propertyPath: m_AllowLocking
333
+ value: 1
334
+ objectReference: {fileID: 0}
335
+ m_ExcludedProperties: []
336
+ m_CoupledType:
337
+ m_NativeTypeID: 0
338
+ m_ManagedTypePPtr: {fileID: 0}
339
+ m_ManagedTypeFallback:
340
+ m_CoupledProperties: []
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 193913a3c04289440a34d4c41a3ee96c
3
+ NativeFormatImporter:
4
+ externalObjects: {}
5
+ mainObjectFileID: 0
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,55 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!21 &2100000
4
+ Material:
5
+ serializedVersion: 8
6
+ m_ObjectHideFlags: 0
7
+ m_CorrespondingSourceObject: {fileID: 0}
8
+ m_PrefabInstance: {fileID: 0}
9
+ m_PrefabAsset: {fileID: 0}
10
+ m_Name: ReplayScanlineOverlay
11
+ m_Shader: {fileID: 4800000, guid: 7f3b834bf7bb46aeb13bf05e0a3dca54, type: 3}
12
+ m_Parent: {fileID: 0}
13
+ m_ModifiedSerializedProperties: 0
14
+ m_ValidKeywords: []
15
+ m_InvalidKeywords:
16
+ - _NOISEMOVEMENTENABLED_ON
17
+ - _SCANLINESENABLED_ON
18
+ m_LightmapFlags: 4
19
+ m_EnableInstancingVariants: 0
20
+ m_DoubleSidedGI: 0
21
+ m_CustomRenderQueue: -1
22
+ stringTagMap: {}
23
+ disabledShaderPasses: []
24
+ m_LockedProperties:
25
+ m_SavedProperties:
26
+ serializedVersion: 3
27
+ m_TexEnvs:
28
+ - _MainTex:
29
+ m_Texture: {fileID: 0}
30
+ m_Scale: {x: 1, y: 1}
31
+ m_Offset: {x: 0, y: 0}
32
+ m_Ints: []
33
+ m_Floats:
34
+ - _ColorMask: 15
35
+ - _FlickerSpeed: 48
36
+ - _FlickerStrength: 0.018
37
+ - _LineAlpha: 0.1
38
+ - _LineDensity: 200
39
+ - _LineThickness: 0.5
40
+ - _ScanSpeed: 0.18
41
+ - _ScanlineMovementEnabled: 0
42
+ - _ScanlinesEnabled: 1
43
+ - _Stencil: 0
44
+ - _StencilComp: 8
45
+ - _StencilOp: 0
46
+ - _StencilReadMask: 255
47
+ - _StencilWriteMask: 255
48
+ - _UseUIAlphaClip: 0
49
+ - _VignetteAlpha: 0.25
50
+ - _VignettePower: 1.8
51
+ m_Colors:
52
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
53
+ - _LineColor: {r: 0.06, g: 0.045, b: 0.08, a: 1}
54
+ m_BuildTextureStacks: []
55
+ m_AllowLocking: 1
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 2010dd531c264c6b97c52fa83cc4d882
3
+ NativeFormatImporter:
4
+ externalObjects: {}
5
+ mainObjectFileID: 2100000
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,150 @@
1
+ Shader "Hyper/UI/Replay Scanline Overlay"
2
+ {
3
+ Properties
4
+ {
5
+ [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
6
+ _Color ("Overlay Tint", Color) = (1,1,1,1)
7
+ _LineColor ("Scanline Color", Color) = (0.06,0.045,0.08,1)
8
+ [Toggle] _ScanlinesEnabled ("Enable Scanlines", Float) = 1
9
+ [Toggle] _ScanlineMovementEnabled ("Animate Scanlines", Float) = 1
10
+ _LineAlpha ("Scanline Opacity", Range(0,1)) = 0.09
11
+ _LineDensity ("Scanline Count", Range(40,600)) = 220
12
+ _LineThickness ("Scanline Thickness", Range(0.05,0.95)) = 0.42
13
+ _ScanSpeed ("Scan Speed", Range(-5,5)) = 0.18
14
+ _FlickerStrength ("Flicker Strength", Range(0,0.2)) = 0.018
15
+ _FlickerSpeed ("Flicker Speed", Range(0,100)) = 48
16
+ _VignetteAlpha ("Vignette Opacity", Range(0,0.5)) = 0.07
17
+ _VignettePower ("Vignette Falloff", Range(0.5,5)) = 1.8
18
+
19
+ _StencilComp ("Stencil Comparison", Float) = 8
20
+ _Stencil ("Stencil ID", Float) = 0
21
+ _StencilOp ("Stencil Operation", Float) = 0
22
+ _StencilWriteMask ("Stencil Write Mask", Float) = 255
23
+ _StencilReadMask ("Stencil Read Mask", Float) = 255
24
+ _ColorMask ("Color Mask", Float) = 15
25
+ [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
26
+ }
27
+
28
+ SubShader
29
+ {
30
+ Tags
31
+ {
32
+ "Queue"="Transparent"
33
+ "IgnoreProjector"="True"
34
+ "RenderType"="Transparent"
35
+ "PreviewType"="Plane"
36
+ "CanUseSpriteAtlas"="True"
37
+ }
38
+
39
+ Stencil
40
+ {
41
+ Ref [_Stencil]
42
+ Comp [_StencilComp]
43
+ Pass [_StencilOp]
44
+ ReadMask [_StencilReadMask]
45
+ WriteMask [_StencilWriteMask]
46
+ }
47
+
48
+ Cull Off
49
+ Lighting Off
50
+ ZWrite Off
51
+ ZTest [unity_GUIZTestMode]
52
+ Blend SrcAlpha OneMinusSrcAlpha
53
+ ColorMask [_ColorMask]
54
+
55
+ Pass
56
+ {
57
+ Name "Default"
58
+
59
+ CGPROGRAM
60
+ #pragma vertex vert
61
+ #pragma fragment frag
62
+ #pragma target 2.0
63
+ #pragma multi_compile_local _ UNITY_UI_CLIP_RECT
64
+ #pragma multi_compile_local _ UNITY_UI_ALPHACLIP
65
+
66
+ #include "UnityCG.cginc"
67
+ #include "UnityUI.cginc"
68
+
69
+ struct appdata_t
70
+ {
71
+ float4 vertex : POSITION;
72
+ fixed4 color : COLOR;
73
+ float2 texcoord : TEXCOORD0;
74
+ UNITY_VERTEX_INPUT_INSTANCE_ID
75
+ };
76
+
77
+ struct v2f
78
+ {
79
+ float4 vertex : SV_POSITION;
80
+ fixed4 color : COLOR;
81
+ float2 uv : TEXCOORD0;
82
+ float4 worldPosition : TEXCOORD1;
83
+ UNITY_VERTEX_OUTPUT_STEREO
84
+ };
85
+
86
+ sampler2D _MainTex;
87
+ fixed4 _TextureSampleAdd;
88
+ fixed4 _Color;
89
+ fixed4 _LineColor;
90
+ float4 _ClipRect;
91
+ float4 _MainTex_ST;
92
+ float _ScanlinesEnabled;
93
+ float _ScanlineMovementEnabled;
94
+ float _LineAlpha;
95
+ float _LineDensity;
96
+ float _LineThickness;
97
+ float _ScanSpeed;
98
+ float _FlickerStrength;
99
+ float _FlickerSpeed;
100
+ float _VignetteAlpha;
101
+ float _VignettePower;
102
+
103
+ v2f vert(appdata_t input)
104
+ {
105
+ v2f output;
106
+ UNITY_SETUP_INSTANCE_ID(input);
107
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
108
+ output.worldPosition = input.vertex;
109
+ output.vertex = UnityObjectToClipPos(input.vertex);
110
+ output.uv = TRANSFORM_TEX(input.texcoord, _MainTex);
111
+ output.color = input.color * _Color;
112
+ return output;
113
+ }
114
+
115
+ fixed4 frag(v2f input) : SV_Target
116
+ {
117
+ fixed4 sprite = (tex2D(_MainTex, input.uv) + _TextureSampleAdd) * input.color;
118
+
119
+ float scanlineTime = _Time.y * _ScanSpeed * _ScanlineMovementEnabled;
120
+ float linePosition = frac(input.uv.y * _LineDensity + scanlineTime);
121
+ float lineEdge = max(0.005, min(0.08, 2.0 / max(40.0, _LineDensity)));
122
+ float scanline = smoothstep(1.0 - _LineThickness - lineEdge,
123
+ 1.0 - _LineThickness + lineEdge,
124
+ linePosition);
125
+
126
+ float flicker = 1.0 + sin(_Time.y * _FlickerSpeed) * _FlickerStrength;
127
+
128
+ float2 centered = input.uv * 2.0 - 1.0;
129
+ float vignette = pow(saturate(dot(centered, centered) * 0.5), _VignettePower);
130
+
131
+ float alpha = scanline * _LineAlpha * flicker * _ScanlinesEnabled;
132
+ alpha += vignette * _VignetteAlpha;
133
+ alpha = saturate(alpha) * sprite.a;
134
+
135
+ fixed3 color = _LineColor.rgb;
136
+
137
+ #ifdef UNITY_UI_CLIP_RECT
138
+ alpha *= UnityGet2DClipping(input.worldPosition.xy, _ClipRect);
139
+ #endif
140
+
141
+ #ifdef UNITY_UI_ALPHACLIP
142
+ clip(alpha - 0.001);
143
+ #endif
144
+
145
+ return fixed4(color, alpha);
146
+ }
147
+ ENDCG
148
+ }
149
+ }
150
+ }
@@ -0,0 +1,10 @@
1
+ fileFormatVersion: 2
2
+ guid: 7f3b834bf7bb46aeb13bf05e0a3dca54
3
+ ShaderImporter:
4
+ externalObjects: {}
5
+ defaultTextures: []
6
+ nonModifiableTextures: []
7
+ preprocessorOverride: 0
8
+ userData:
9
+ assetBundleName:
10
+ assetBundleVariant: