app.hypergames.hypersdk 1.8.11 → 1.9.0-exhibition.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
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
# [1.9.0-exhibition.1](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.10...v1.9.0-exhibition.1) (2026-05-01)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Bug Fixes
|
|
5
5
|
|
|
6
|
-
*
|
|
6
|
+
* add exhibition prerelease channel ([cf4fbaa](https://github.com/mvmhyper/hyper-sdk/commit/cf4fbaa69f83ca3cd6b4e9f1c518aa885df72cf8))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **exhibition:** decouple battle/practice exhibition flow from backend submission ([ec44391](https://github.com/mvmhyper/hyper-sdk/commit/ec44391604146582c295c184e02c41550e859925))
|
|
12
|
+
* **exhibition:** unify fixed countdown flow for battle and practice ([5a25dff](https://github.com/mvmhyper/hyper-sdk/commit/5a25dffbd1f07e6eb2f1d9e718fcdc040b247a3a))
|
|
7
13
|
|
|
8
14
|
## [1.8.10](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.9...v1.8.10) (2026-04-22)
|
|
9
15
|
|
|
@@ -928,6 +928,24 @@ namespace Hyper.Internal.Managers
|
|
|
928
928
|
yield break;
|
|
929
929
|
}
|
|
930
930
|
|
|
931
|
+
var finalScoreData = _dataManager?.CurrentScoreData;
|
|
932
|
+
finalScoreData.isFinal = true;
|
|
933
|
+
|
|
934
|
+
// For consistency with per-second and backlog submissions, always send
|
|
935
|
+
// the final score as an array of ScoreData.
|
|
936
|
+
var finalScoreList = new List<ScoreData>(1) { finalScoreData };
|
|
937
|
+
string rawScoreJson = JsonConvert.SerializeObject(finalScoreList);
|
|
938
|
+
var compressedScoreData = JsonCompressor.CompressJson(rawScoreJson);
|
|
939
|
+
string scoreJson = compressedScoreData.MinifiedJson;
|
|
940
|
+
string encryptedScoreData = EncryptScore(scoreJson);
|
|
941
|
+
|
|
942
|
+
if (string.IsNullOrEmpty(encryptedScoreData))
|
|
943
|
+
{
|
|
944
|
+
LastSubmissionError = SubmissionErrorType.EncryptionError;
|
|
945
|
+
HyperDebug.LogError("Encryption failed [ENCRYPTION_ERROR]");
|
|
946
|
+
yield break;
|
|
947
|
+
}
|
|
948
|
+
|
|
931
949
|
// Reset gameResumed flag for this attempt
|
|
932
950
|
_gameResumed = false;
|
|
933
951
|
|
|
@@ -1024,39 +1042,6 @@ namespace Hyper.Internal.Managers
|
|
|
1024
1042
|
_finalScoreSubmitted = false;
|
|
1025
1043
|
_isWaitingForFinalScoreResponse = true;
|
|
1026
1044
|
|
|
1027
|
-
float currentScoreDataScoreTime = _dataManager.CurrentScoreData.cumulativeScore + _dataManager.CurrentScoreData.scoreSnapshot.scoreTime;
|
|
1028
|
-
float lastCapturedScoreDataScoreTime = _lastSentBatch.Last().cumulativeScore + _lastSentBatch.Last().scoreSnapshot.scoreTime;
|
|
1029
|
-
ScoreData finalScoreData;
|
|
1030
|
-
|
|
1031
|
-
if (currentScoreDataScoreTime > lastCapturedScoreDataScoreTime)
|
|
1032
|
-
{
|
|
1033
|
-
finalScoreData = _dataManager.CurrentScoreData;
|
|
1034
|
-
finalScoreData.isFinal = true;
|
|
1035
|
-
}
|
|
1036
|
-
else
|
|
1037
|
-
{
|
|
1038
|
-
finalScoreData = _lastSentBatch.Last();
|
|
1039
|
-
finalScoreData.isFinal = true;
|
|
1040
|
-
finalScoreData.timestampUtc = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
|
|
1041
|
-
finalScoreData.scoreSnapshot.scoreDelta = 0;
|
|
1042
|
-
finalScoreData.scoreSnapshot.gameplayModifiers = new GameplayModifiers();
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
// For consistency with per-second and backlog submissions, always send
|
|
1046
|
-
// the final score as an array of ScoreData.
|
|
1047
|
-
var finalScoreList = new List<ScoreData>(1) { finalScoreData };
|
|
1048
|
-
string rawScoreJson = JsonConvert.SerializeObject(finalScoreList);
|
|
1049
|
-
var compressedScoreData = JsonCompressor.CompressJson(rawScoreJson);
|
|
1050
|
-
string scoreJson = compressedScoreData.MinifiedJson;
|
|
1051
|
-
string encryptedScoreData = EncryptScore(scoreJson);
|
|
1052
|
-
|
|
1053
|
-
if (string.IsNullOrEmpty(encryptedScoreData))
|
|
1054
|
-
{
|
|
1055
|
-
LastSubmissionError = SubmissionErrorType.EncryptionError;
|
|
1056
|
-
HyperDebug.LogError("Encryption failed [ENCRYPTION_ERROR]");
|
|
1057
|
-
yield break;
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
1045
|
_lastSentBatch.Clear();
|
|
1061
1046
|
if (finalScoreData != null)
|
|
1062
1047
|
{
|
|
@@ -66,7 +66,7 @@ namespace Hyper.Internal.Managers
|
|
|
66
66
|
|
|
67
67
|
CurrentScoreData.cumulativeScore = CurrentScore;
|
|
68
68
|
CurrentScoreData.timestampUtc = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
|
|
69
|
-
CurrentScoreData.isFinal =
|
|
69
|
+
CurrentScoreData.isFinal = true;
|
|
70
70
|
|
|
71
71
|
var snapshot = CurrentScoreData.scoreSnapshot;
|
|
72
72
|
snapshot.scoreTime = currentGameSecond;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "app.hypergames.hypersdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0-exhibition.1",
|
|
4
4
|
"displayName": "HyperSDK",
|
|
5
5
|
"description": "Official Unity SDK for Hyper: multiplayer battles, leaderboards, deterministic RNG, session management, tutorials, and WebGL optimizations for production-ready games.",
|
|
6
6
|
"unity": "6000.0",
|