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.
Files changed (124) hide show
  1. package/CHANGELOG.md +37 -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 +58 -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 +350 -15
  12. package/Runtime/Internal/Managers/ReplayManager.cs +111 -0
  13. package/Runtime/Internal/Managers/ReplayManager.cs.meta +11 -0
  14. package/Runtime/Internal/Managers/TimeManager.cs +56 -14
  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/ConcaveImage.cs +147 -0
  23. package/Runtime/Internal/UI/Components/ConcaveImage.cs.meta +11 -0
  24. package/Runtime/Internal/UI/Components/ControlBar.cs +86 -6
  25. package/Runtime/Internal/UI/Components/PauseButton.cs +4 -1
  26. package/Runtime/Internal/UI/Components/ReplayController.cs +501 -0
  27. package/Runtime/Internal/UI/Components/ReplayController.cs.meta +2 -0
  28. package/Runtime/Internal/UI/Components/ReplayMarkerPulse.cs +89 -0
  29. package/Runtime/Internal/UI/Components/ReplayMarkerPulse.cs.meta +2 -0
  30. package/Runtime/Internal/UI/Components/ReplayPresentationCanvas.cs +183 -0
  31. package/Runtime/Internal/UI/Components/ReplayPresentationCanvas.cs.meta +2 -0
  32. package/Runtime/Internal/UI/Components/SnackBar.cs +2 -9
  33. package/Runtime/Internal/UI/Modals/LoadingFailedModal.cs +12 -0
  34. package/Runtime/Internal/UI/Modals/ReplayOverModal.cs +54 -0
  35. package/Runtime/Internal/UI/Modals/ReplayOverModal.cs.meta +2 -0
  36. package/Runtime/Internal/UI/Modals/StartingInstructionModal.cs +38 -29
  37. package/Runtime/Public/AssemblyInfo.cs +3 -0
  38. package/Runtime/Public/AssemblyInfo.cs.meta +2 -0
  39. package/Runtime/Public/Core/HyperSDK.cs +305 -109
  40. package/Runtime/Public/Hyper.asmdef +2 -1
  41. package/Runtime/Public/Replay/ReplayPlaybackEngine.cs +555 -0
  42. package/Runtime/Public/Replay/ReplayPlaybackEngine.cs.meta +2 -0
  43. package/Runtime/Public/Replay.meta +8 -0
  44. package/Runtime/Resources/Fonts/Nunito/Nunito-Light SDF.asset +528 -521
  45. package/Runtime/Resources/Materials/HyperReplayScanlines.preset +340 -0
  46. package/Runtime/Resources/Materials/HyperReplayScanlines.preset.meta +8 -0
  47. package/Runtime/Resources/Materials/ReplayScanlineOverlay.mat +55 -0
  48. package/Runtime/Resources/Materials/ReplayScanlineOverlay.mat.meta +8 -0
  49. package/Runtime/Resources/Shaders/ConcaveImage.shader +155 -0
  50. package/Runtime/Resources/Shaders/ConcaveImage.shader.meta +10 -0
  51. package/Runtime/Resources/Shaders/ReplayScanlineOverlay.shader +150 -0
  52. package/Runtime/Resources/Shaders/ReplayScanlineOverlay.shader.meta +10 -0
  53. package/Runtime/Resources/Sprites/Replays/Fallback avatar.png +0 -0
  54. package/Runtime/Resources/Sprites/Replays/Fallback avatar.png.meta +156 -0
  55. package/Runtime/Resources/Sprites/Replays/Recording.png +0 -0
  56. package/Runtime/Resources/Sprites/{Control Bar/Top_Black_Rounded_Bar_Portrait_IV.png.meta → Replays/Recording.png.meta} +16 -29
  57. package/Runtime/Resources/Sprites/Replays/Replay frame.png +0 -0
  58. package/Runtime/Resources/Sprites/Replays/Replay frame.png.meta +156 -0
  59. package/Runtime/Resources/Sprites/Replays/Replay modal icon.png +0 -0
  60. package/Runtime/Resources/Sprites/Replays/Replay modal icon.png.meta +156 -0
  61. package/Runtime/Resources/Sprites/Replays.meta +8 -0
  62. package/Runtime/Resources/UIPrefabs/ControlBar.prefab +389 -42
  63. package/Runtime/Resources/UIPrefabs/GamePausedModal_Battle.prefab +1 -1
  64. package/Runtime/Resources/UIPrefabs/ReplayController.prefab +1269 -0
  65. package/Runtime/Resources/UIPrefabs/ReplayController.prefab.meta +7 -0
  66. package/Runtime/Resources/UIPrefabs/ReplayInputBlocker.prefab +90 -0
  67. package/Runtime/Resources/UIPrefabs/ReplayInputBlocker.prefab.meta +7 -0
  68. package/Runtime/Resources/UIPrefabs/ReplayOverModal.prefab +958 -0
  69. package/Runtime/Resources/UIPrefabs/ReplayOverModal.prefab.meta +7 -0
  70. package/Runtime/Resources/UIPrefabs/ReplaySeekOverlay.prefab +189 -0
  71. package/Runtime/Resources/UIPrefabs/ReplaySeekOverlay.prefab.meta +7 -0
  72. package/Runtime/Resources/UIPrefabs/Rounded Cutout.prefab +96 -0
  73. package/Runtime/Resources/UIPrefabs/Rounded Cutout.prefab.meta +7 -0
  74. package/Runtime/Resources/UIPrefabs/SnackBar.prefab +23 -6
  75. package/Runtime/Shared/AssemblyInfo.cs +5 -0
  76. package/Runtime/Shared/AssemblyInfo.cs.meta +11 -0
  77. package/Runtime/Shared/DTOs/Enums.cs +8 -3
  78. package/Runtime/Shared/DTOs/Score/ScoreSnapshot.cs +13 -1
  79. package/Runtime/Shared/Replay/IReplayPlaybackEngine.cs +37 -0
  80. package/Runtime/Shared/Replay/IReplayPlaybackEngine.cs.meta +11 -0
  81. package/Runtime/Shared/Replay.meta +8 -0
  82. package/Runtime/Shared/Utils/HyperRandom.cs +25 -5
  83. package/Samples~/LaneRunner/LaneRunnerSample.unity +1603 -0
  84. package/Samples~/LaneRunner/LaneRunnerSample.unity.meta +7 -0
  85. package/Samples~/LaneRunner/Materials/DoubleScore.mat +86 -0
  86. package/Samples~/LaneRunner/Materials/DoubleScore.mat.meta +8 -0
  87. package/Samples~/LaneRunner/Materials/Ground.mat +84 -0
  88. package/Samples~/LaneRunner/Materials/Ground.mat.meta +8 -0
  89. package/Samples~/LaneRunner/Materials/Lane.mat +84 -0
  90. package/Samples~/LaneRunner/Materials/Lane.mat.meta +8 -0
  91. package/Samples~/LaneRunner/Materials/LaneMarker.mat +84 -0
  92. package/Samples~/LaneRunner/Materials/LaneMarker.mat.meta +8 -0
  93. package/Samples~/LaneRunner/Materials/Obstacle.mat +84 -0
  94. package/Samples~/LaneRunner/Materials/Obstacle.mat.meta +8 -0
  95. package/Samples~/LaneRunner/Materials/Player.mat +84 -0
  96. package/Samples~/LaneRunner/Materials/Player.mat.meta +8 -0
  97. package/Samples~/LaneRunner/Materials.meta +8 -0
  98. package/Samples~/LaneRunner/Prefabs/DoubleScorePickup.prefab +152 -0
  99. package/Samples~/LaneRunner/Prefabs/DoubleScorePickup.prefab.meta +7 -0
  100. package/Samples~/LaneRunner/Prefabs/Obstacle.prefab +152 -0
  101. package/Samples~/LaneRunner/Prefabs/Obstacle.prefab.meta +7 -0
  102. package/Samples~/LaneRunner/Prefabs.meta +8 -0
  103. package/Samples~/LaneRunner/README.md +35 -0
  104. package/Samples~/LaneRunner/README.md.meta +7 -0
  105. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerCommand.cs +9 -0
  106. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerCommand.cs.meta +2 -0
  107. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerGame.cs +93 -0
  108. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerGame.cs.meta +2 -0
  109. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerPlayer.cs +155 -0
  110. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerPlayer.cs.meta +2 -0
  111. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerSpawner.cs +110 -0
  112. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerSpawner.cs.meta +2 -0
  113. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerTrackItem.cs +41 -0
  114. package/Samples~/LaneRunner/Scripts/Gameplay/LaneRunnerTrackItem.cs.meta +2 -0
  115. package/Samples~/LaneRunner/Scripts/Gameplay.meta +8 -0
  116. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerReplayAdapter.cs +62 -0
  117. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerReplayAdapter.cs.meta +2 -0
  118. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerTournamentAdapter.cs +64 -0
  119. package/Samples~/LaneRunner/Scripts/Hyper/LaneRunnerTournamentAdapter.cs.meta +2 -0
  120. package/Samples~/LaneRunner/Scripts/Hyper.meta +8 -0
  121. package/Samples~/LaneRunner/Scripts.meta +8 -0
  122. package/Tests.meta +8 -0
  123. package/package.json +9 -3
  124. package/Runtime/Resources/Sprites/Control Bar/Top_Black_Rounded_Bar_Portrait_IV.png +0 -0
@@ -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,155 @@
1
+ Shader "Hyper/UI/Concave Image"
2
+ {
3
+ Properties
4
+ {
5
+ [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
6
+ _Color ("Tint", Color) = (1,1,1,1)
7
+ _RectSize ("Rect Size", Vector) = (400,120,0,0)
8
+ _Pivot ("Pivot", Vector) = (0.5,0.5,0,0)
9
+ _SpriteUVRect ("Sprite UV Rect", Vector) = (0,0,1,1)
10
+ _SideInset ("Side Inset", Float) = 32
11
+ _CutoutHeight ("Cutout Height", Float) = 30
12
+ _CornerRadius ("Corner Radius", Float) = 30
13
+ _AASoftness ("AA Softness", Float) = 1
14
+
15
+ _StencilComp ("Stencil Comparison", Float) = 8
16
+ _Stencil ("Stencil ID", Float) = 0
17
+ _StencilOp ("Stencil Operation", Float) = 0
18
+ _StencilWriteMask ("Stencil Write Mask", Float) = 255
19
+ _StencilReadMask ("Stencil Read Mask", Float) = 255
20
+ _ColorMask ("Color Mask", Float) = 15
21
+ [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
22
+ }
23
+
24
+ SubShader
25
+ {
26
+ Tags
27
+ {
28
+ "Queue"="Transparent"
29
+ "IgnoreProjector"="True"
30
+ "RenderType"="Transparent"
31
+ "PreviewType"="Plane"
32
+ "CanUseSpriteAtlas"="True"
33
+ }
34
+
35
+ Stencil
36
+ {
37
+ Ref [_Stencil]
38
+ Comp [_StencilComp]
39
+ Pass [_StencilOp]
40
+ ReadMask [_StencilReadMask]
41
+ WriteMask [_StencilWriteMask]
42
+ }
43
+
44
+ Cull Off
45
+ Lighting Off
46
+ ZWrite Off
47
+ ZTest [unity_GUIZTestMode]
48
+ Blend SrcAlpha OneMinusSrcAlpha
49
+ ColorMask [_ColorMask]
50
+
51
+ Pass
52
+ {
53
+ Name "Default"
54
+
55
+ CGPROGRAM
56
+ #pragma vertex vert
57
+ #pragma fragment frag
58
+ #pragma target 3.0
59
+ #pragma multi_compile_local _ UNITY_UI_CLIP_RECT
60
+ #pragma multi_compile_local _ UNITY_UI_ALPHACLIP
61
+
62
+ #include "UnityCG.cginc"
63
+ #include "UnityUI.cginc"
64
+
65
+ struct appdata_t
66
+ {
67
+ float4 vertex : POSITION;
68
+ float4 color : COLOR;
69
+ float2 texcoord : TEXCOORD0;
70
+ UNITY_VERTEX_INPUT_INSTANCE_ID
71
+ };
72
+
73
+ struct v2f
74
+ {
75
+ float4 vertex : SV_POSITION;
76
+ fixed4 color : COLOR;
77
+ float2 texcoord : TEXCOORD0;
78
+ float4 worldPosition : TEXCOORD1;
79
+ float2 localPosition : TEXCOORD2;
80
+ UNITY_VERTEX_OUTPUT_STEREO
81
+ };
82
+
83
+ sampler2D _MainTex;
84
+ fixed4 _Color;
85
+ fixed4 _TextureSampleAdd;
86
+ float4 _ClipRect;
87
+ float4 _MainTex_ST;
88
+ float4 _RectSize;
89
+ float4 _Pivot;
90
+ float4 _SpriteUVRect;
91
+ float _SideInset;
92
+ float _CutoutHeight;
93
+ float _CornerRadius;
94
+ float _AASoftness;
95
+
96
+ v2f vert(appdata_t v)
97
+ {
98
+ v2f OUT;
99
+ UNITY_SETUP_INSTANCE_ID(v);
100
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
101
+ OUT.worldPosition = v.vertex;
102
+ OUT.vertex = UnityObjectToClipPos(v.vertex);
103
+ OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
104
+ OUT.localPosition = v.vertex.xy;
105
+ OUT.color = v.color * _Color;
106
+ return OUT;
107
+ }
108
+
109
+ // Signed distance to a rectangle with uniformly rounded corners.
110
+ float RoundedBoxDistance(float2 p, float2 halfSize, float radius)
111
+ {
112
+ float2 q = abs(p) - halfSize + radius;
113
+ return length(max(q, 0.0)) + min(max(q.x, q.y), 0.0) - radius;
114
+ }
115
+
116
+ fixed4 frag(v2f IN) : SV_Target
117
+ {
118
+ half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
119
+
120
+ float2 size = max(_RectSize.xy, float2(1.0, 1.0));
121
+ float2 uvSpan = max(_SpriteUVRect.zw - _SpriteUVRect.xy, float2(0.000001, 0.000001));
122
+ float2 shapeUV = saturate((IN.texcoord - _SpriteUVRect.xy) / uvSpan);
123
+ float2 p = shapeUV * size;
124
+
125
+ float inset = clamp(_SideInset, 0.0, size.x * 0.5);
126
+ float cutoutHeight = clamp(_CutoutHeight, 0.0, size.y);
127
+ float cutoutHalfWidth = max(0.0, size.x * 0.5 - inset);
128
+ float radius = min(max(_CornerRadius, 0.0), min(cutoutHalfWidth, cutoutHeight));
129
+
130
+ // Extend the rounded cutout below the Image. Only its two upper
131
+ // corners intersect the visible UI rectangle.
132
+ float lowerExtent = size.y + radius + 2.0;
133
+ float2 cutoutCenter = float2(size.x * 0.5, (cutoutHeight - lowerExtent) * 0.5);
134
+ float2 cutoutHalfSize = float2(cutoutHalfWidth, (cutoutHeight + lowerExtent) * 0.5);
135
+ float cutoutDistance = RoundedBoxDistance(p - cutoutCenter, cutoutHalfSize, radius);
136
+
137
+ // fwidth keeps the transition approximately one screen pixel wide.
138
+ float aa = max(fwidth(cutoutDistance) * max(_AASoftness, 0.25), 0.0001);
139
+ float shape = smoothstep(-aa, aa, cutoutDistance);
140
+ color.a *= shape;
141
+
142
+ #ifdef UNITY_UI_CLIP_RECT
143
+ color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
144
+ #endif
145
+
146
+ #ifdef UNITY_UI_ALPHACLIP
147
+ clip(color.a - 0.001);
148
+ #endif
149
+
150
+ return color;
151
+ }
152
+ ENDCG
153
+ }
154
+ }
155
+ }
@@ -0,0 +1,10 @@
1
+ fileFormatVersion: 2
2
+ guid: 113e6b835bde4516bb8043cfe8f3adab
3
+ ShaderImporter:
4
+ externalObjects: {}
5
+ defaultTextures: []
6
+ nonModifiableTextures: []
7
+ preprocessorOverride: 0
8
+ userData:
9
+ assetBundleName:
10
+ assetBundleVariant: