com.taptap.sdk.leaderboard 4.7.0-alpha.14

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 (42) hide show
  1. package/Mobile/Editor/NativeDependencies.xml +10 -0
  2. package/Mobile/Editor/NativeDependencies.xml.meta +7 -0
  3. package/Mobile/Editor/TapLeaderboardMobileProcessBuild.cs +24 -0
  4. package/Mobile/Editor/TapLeaderboardMobileProcessBuild.cs.meta +11 -0
  5. package/Mobile/Editor/TapSDK.Leaderboard.Mobile.Editor.asmdef +17 -0
  6. package/Mobile/Editor/TapSDK.Leaderboard.Mobile.Editor.asmdef.meta +7 -0
  7. package/Mobile/Editor.meta +8 -0
  8. package/Mobile/Runtime/TapSDK.Leaderboard.Mobile.Runtime.asmdef +20 -0
  9. package/Mobile/Runtime/TapSDK.Leaderboard.Mobile.Runtime.asmdef.meta +7 -0
  10. package/Mobile/Runtime/TapTapLeaderboardImpl.cs +361 -0
  11. package/Mobile/Runtime/TapTapLeaderboardImpl.cs.meta +11 -0
  12. package/Mobile/Runtime.meta +8 -0
  13. package/Mobile.meta +8 -0
  14. package/Runtime/Internal/TapTapLeaderboardManager.cs +70 -0
  15. package/Runtime/Internal/TapTapLeaderboardManager.cs.meta +11 -0
  16. package/Runtime/Internal.meta +8 -0
  17. package/Runtime/Public/ILeaderboardPlatform.cs +91 -0
  18. package/Runtime/Public/ILeaderboardPlatform.cs.meta +11 -0
  19. package/Runtime/Public/ITapTapLeaderboard.cs +69 -0
  20. package/Runtime/Public/ITapTapLeaderboard.cs.meta +11 -0
  21. package/Runtime/Public/ITapTapLeaderboardResponseCallback.cs +35 -0
  22. package/Runtime/Public/ITapTapLeaderboardResponseCallback.cs.meta +3 -0
  23. package/Runtime/Public/Image.cs +72 -0
  24. package/Runtime/Public/Image.cs.meta +3 -0
  25. package/Runtime/Public/Leaderboard.cs +67 -0
  26. package/Runtime/Public/Leaderboard.cs.meta +11 -0
  27. package/Runtime/Public/LeaderboardCallback.cs +25 -0
  28. package/Runtime/Public/LeaderboardCallback.cs.meta +7 -0
  29. package/Runtime/Public/LeaderboardShareCallback.cs +36 -0
  30. package/Runtime/Public/LeaderboardShareCallback.cs.meta +7 -0
  31. package/Runtime/Public/Score.cs +78 -0
  32. package/Runtime/Public/Score.cs.meta +3 -0
  33. package/Runtime/Public/TapLeaderboardModels.cs +148 -0
  34. package/Runtime/Public/TapLeaderboardModels.cs.meta +11 -0
  35. package/Runtime/Public/TapTapLeaderboard.cs +145 -0
  36. package/Runtime/Public/TapTapLeaderboard.cs.meta +11 -0
  37. package/Runtime/Public.meta +8 -0
  38. package/Runtime/TapSDK.Leaderboard.Runtime.asmdef +15 -0
  39. package/Runtime/TapSDK.Leaderboard.Runtime.asmdef.meta +7 -0
  40. package/Runtime.meta +8 -0
  41. package/package.json +12 -0
  42. package/package.json.meta +7 -0
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" ?>
2
+ <dependencies>
3
+ <androidPackages>
4
+ <repositories>
5
+ <repository>https://repo.maven.apache.org/maven2</repository>
6
+ <repository>https://nexus.xmxdev.com/repository/maven-public</repository>
7
+ </repositories>
8
+ <androidPackage spec="com.taptap.sdk:tap-leaderboard-unity:4.7.0-alpha.14"/>
9
+ </androidPackages>
10
+ </dependencies>
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 675a09bf0e004475dbdb80ddb42f9e27
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,24 @@
1
+ using System;
2
+ using UnityEditor.Build.Reporting;
3
+ using TapSDK.Core.Editor;
4
+
5
+ namespace TapSDK.Leaderboard.Mobile.Editor {
6
+ /// <summary>
7
+ /// 处理 TapSDK Leaderboard 模块在移动平台的构建过程
8
+ /// 确保正确的程序集被包含在构建中
9
+ /// </summary>
10
+ public class TapLeaderboardMobileProcessBuild : SDKLinkProcessBuild {
11
+ public override int callbackOrder => 0;
12
+
13
+ public override string LinkPath => "TapSDK/Leaderboard/link.xml";
14
+
15
+ public override LinkedAssembly[] LinkedAssemblies => new LinkedAssembly[] {
16
+ new LinkedAssembly { Fullname = "TapSDK.Leaderboard.Runtime" },
17
+ new LinkedAssembly { Fullname = "TapSDK.Leaderboard.Mobile.Runtime" }
18
+ };
19
+
20
+ public override Func<BuildReport, bool> IsTargetPlatform => (report) => {
21
+ return BuildTargetUtils.IsSupportMobile(report.summary.platform);
22
+ };
23
+ }
24
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 535c34242993f468ba02527701c804c5
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,17 @@
1
+ {
2
+ "name": "TapSDK.Leaderboard.Mobile.Editor",
3
+ "references": [
4
+ "GUID:56f3da7a178484843974054bafe77e73"
5
+ ],
6
+ "includePlatforms": [
7
+ "Editor"
8
+ ],
9
+ "excludePlatforms": [],
10
+ "allowUnsafeCode": false,
11
+ "overrideReferences": false,
12
+ "precompiledReferences": [],
13
+ "autoReferenced": true,
14
+ "defineConstraints": [],
15
+ "versionDefines": [],
16
+ "noEngineReferences": false
17
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: e17e5817c1ad94170b21e48c2d407874
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 6a37a6c340a8e496b8a14f6d2878c272
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "TapSDK.Leaderboard.Mobile.Runtime",
3
+ "references": [
4
+ "GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7",
5
+ "GUID:5d5e0e6899b474358a025b56eeef905d",
6
+ "GUID:10560023d8780423cb943c7a324b69f2"
7
+ ],
8
+ "includePlatforms": [
9
+ "Android",
10
+ "iOS"
11
+ ],
12
+ "excludePlatforms": [],
13
+ "allowUnsafeCode": false,
14
+ "overrideReferences": false,
15
+ "precompiledReferences": [],
16
+ "autoReferenced": true,
17
+ "defineConstraints": [],
18
+ "versionDefines": [],
19
+ "noEngineReferences": false
20
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 5b48e4e8b06d849a9883b3f1fb88e36d
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,361 @@
1
+ using System;
2
+ using System.Collections.Generic;
3
+ using System.Threading.Tasks;
4
+ using UnityEngine;
5
+ using TapSDK.Core;
6
+ using Newtonsoft.Json;
7
+ using TapSDK.Leaderboard;
8
+ using TapSDK.Core.Internal.Utils;
9
+
10
+ namespace TapSDK.Leaderboard.Mobile
11
+ {
12
+ public class TapTapLeaderboardImpl : ILeaderboardPlatform
13
+ {
14
+
15
+ private const string SERVICE_NAME = "BridgeLeaderboardService";
16
+
17
+ private static bool hasRegisterCallBack = false;
18
+
19
+ private static List<ITapTapLeaderboardCallback> callbacks = new List<ITapTapLeaderboardCallback>();
20
+
21
+ public TapTapLeaderboardImpl()
22
+ {
23
+ EngineBridge.GetInstance().Register(
24
+ "com.taptap.sdk.leaderboard.unity.BridgeLeaderboardService",
25
+ "com.taptap.sdk.leaderboard.unity.BridgeLeaderboardServiceImpl");
26
+ }
27
+
28
+ public void OpenLeaderboard(string leaderboardId, string collection)
29
+ {
30
+ var command = new Command.Builder()
31
+ .Service(SERVICE_NAME)
32
+ .Method("openLeaderboard")
33
+ .Args("leaderboardId", leaderboardId)
34
+ .Args("leaderboardCollection", collection)
35
+ .CommandBuilder();
36
+ EngineBridge.GetInstance().CallHandler(command);
37
+ }
38
+
39
+ public void OpenUserProfile(string openId, string unionId)
40
+ {
41
+ if (string.IsNullOrEmpty(openId))
42
+ {
43
+ Debug.LogError("OpenUserProfile failed: openId is null or empty.");
44
+ return;
45
+ }
46
+
47
+ if (!string.IsNullOrEmpty(unionId))
48
+ {
49
+ Debug.LogWarning("OpenUserProfile: unionId is not used in mobile platform, it will be ignored.");
50
+ }
51
+ var command = new Command.Builder()
52
+ .Service(SERVICE_NAME)
53
+ .Method("openUserProfile")
54
+ .Args("openId", openId ?? "")
55
+ .Args("unionId", unionId ?? "")
56
+ .CommandBuilder();
57
+ EngineBridge.GetInstance().CallHandler(command);
58
+ }
59
+
60
+ public void SubmitScores(List<SubmitScoresRequest.ScoreItem> scores,
61
+ ITapTapLeaderboardResponseCallback<SubmitScoresResponse> callback)
62
+ {
63
+ var command = new Command.Builder()
64
+ .Service(SERVICE_NAME)
65
+ .Method("submitScores")
66
+ .Args("scores", JsonConvert.SerializeObject(scores))
67
+ .Callback(true)
68
+ .OnceTime(true)
69
+ .CommandBuilder();
70
+ EngineBridge.GetInstance().CallHandler(command, result =>
71
+ {
72
+ if (result.code != Result.RESULT_SUCCESS)
73
+ {
74
+ return;
75
+ }
76
+
77
+ if (string.IsNullOrEmpty(result.content))
78
+ {
79
+ return;
80
+ }
81
+
82
+ Debug.Log("SubmitScores, result ==>>> " + JsonConvert.SerializeObject(result));
83
+ var dic = Json.Deserialize(result.content) as Dictionary<string, object>;
84
+ var status = SafeDictionary.GetValue<string>(dic, "status");
85
+ switch (status)
86
+ {
87
+ case "success":
88
+ var jsonStr = SafeDictionary.GetValue<string>(dic, "data");
89
+ Debug.Log("submit scores success: " + jsonStr);
90
+ var data = JsonConvert.DeserializeObject<SubmitScoresResponse>(jsonStr);
91
+ if (callback != null)
92
+ {
93
+ callback.OnSuccess(data);
94
+ }
95
+ break;
96
+ case "failure":
97
+ var errorCode = SafeDictionary.GetValue<int>(dic, "errCode");
98
+ var errorMsg = SafeDictionary.GetValue<string>(dic, "errMessage");
99
+ Debug.Log("failed to submit scores, errorCode: " + errorCode + ", errorMsg: " + errorMsg);
100
+ if (callback != null)
101
+ {
102
+ callback.OnFailure(errorCode, errorMsg);
103
+ }
104
+ break;
105
+ }
106
+ });
107
+ }
108
+
109
+ public void LoadLeaderboardScores(
110
+ string leaderboardId,
111
+ string leaderboardCollection,
112
+ string nextPage,
113
+ string periodToken,
114
+ ITapTapLeaderboardResponseCallback<LeaderboardScoreResponse> callback)
115
+ {
116
+ var command = new Command.Builder()
117
+ .Service(SERVICE_NAME)
118
+ .Method("loadLeaderboardScores")
119
+ .Args("leaderboardId", leaderboardId)
120
+ .Args("leaderboardCollection", leaderboardCollection)
121
+ .Args("nextPage", nextPage)
122
+ .Args("periodToken", periodToken)
123
+ .CommandBuilder();
124
+
125
+ EngineBridge.GetInstance().CallHandler(command, result =>
126
+ {
127
+ if (result.code != Result.RESULT_SUCCESS)
128
+ {
129
+ return;
130
+ }
131
+
132
+ if (string.IsNullOrEmpty(result.content))
133
+ {
134
+ return;
135
+ }
136
+
137
+ Debug.Log("LoadLeaderboardScores, result ==>>> " + JsonConvert.SerializeObject(result));
138
+ var dic = Json.Deserialize(result.content) as Dictionary<string, object>;
139
+ var status = SafeDictionary.GetValue<string>(dic, "status");
140
+ switch (status)
141
+ {
142
+ case "success":
143
+ var jsonStr = SafeDictionary.GetValue<string>(dic, "data");
144
+ Debug.Log("load leaderboard scores success: " + jsonStr);
145
+ var data = JsonConvert.DeserializeObject<LeaderboardScoreResponse>(jsonStr);
146
+ if (callback != null)
147
+ {
148
+ callback.OnSuccess(data);
149
+ }
150
+ break;
151
+ case "failure":
152
+ var errorCode = SafeDictionary.GetValue<int>(dic, "errCode");
153
+ var errorMsg = SafeDictionary.GetValue<string>(dic, "errMessage");
154
+ Debug.Log("load leaderboard scores failed, errorCode: " + errorCode + ", errorMsg: " + errorMsg);
155
+ if (callback != null)
156
+ {
157
+ callback.OnFailure(errorCode, errorMsg);
158
+ }
159
+ break;
160
+ }
161
+ });
162
+ }
163
+
164
+ public void LoadCurrentPlayerLeaderboardScore(
165
+ string leaderboardId,
166
+ string leaderboardCollection,
167
+ string periodToken,
168
+ ITapTapLeaderboardResponseCallback<UserScoreResponse> callback)
169
+ {
170
+ var command = new Command.Builder()
171
+ .Service(SERVICE_NAME)
172
+ .Method("loadCurrentPlayerLeaderboardScore")
173
+ .Args("leaderboardId", leaderboardId)
174
+ .Args("leaderboardCollection", leaderboardCollection)
175
+ .Args("periodToken", periodToken)
176
+ .CommandBuilder();
177
+ EngineBridge.GetInstance().CallHandler(command, result =>
178
+ {
179
+ if (result.code != Result.RESULT_SUCCESS)
180
+ {
181
+ return;
182
+ }
183
+
184
+ if (string.IsNullOrEmpty(result.content))
185
+ {
186
+ return;
187
+ }
188
+
189
+ Debug.Log("LoadCurrentPlayerLeaderboardScore, result ==>>> " + JsonConvert.SerializeObject(result));
190
+ var dic = Json.Deserialize(result.content) as Dictionary<string, object>;
191
+ var status = SafeDictionary.GetValue<string>(dic, "status");
192
+ switch (status)
193
+ {
194
+ case "success":
195
+ var jsonStr = SafeDictionary.GetValue<string>(dic, "data");
196
+ Debug.Log("Load current player leaderboard score success: " + jsonStr);
197
+ var data = JsonConvert.DeserializeObject<UserScoreResponse>(jsonStr);
198
+ if (callback != null)
199
+ {
200
+ callback.OnSuccess(data);
201
+ }
202
+ break;
203
+ case "failure":
204
+ var errorCode = SafeDictionary.GetValue<int>(dic, "errCode");
205
+ var errorMsg = SafeDictionary.GetValue<string>(dic, "errMessage");
206
+ Debug.Log("Load current player leaderboard score failed: errorCode: " + errorCode + ", errorMsg: " + errorMsg);
207
+ if (callback != null)
208
+ {
209
+ callback.OnFailure(errorCode, errorMsg);
210
+ }
211
+ break;
212
+ }
213
+ });
214
+ }
215
+
216
+ public void LoadPlayerCenteredScores(
217
+ string leaderboardId,
218
+ string leaderboardCollection,
219
+ string periodToken,
220
+ int? maxCount,
221
+ ITapTapLeaderboardResponseCallback<LeaderboardScoreResponse> callback)
222
+ {
223
+ var command = new Command.Builder()
224
+ .Service(SERVICE_NAME)
225
+ .Method("loadPlayerCenteredScores")
226
+ .Args("leaderboardId", leaderboardId)
227
+ .Args("leaderboardCollection", leaderboardCollection)
228
+ .Args("periodToken", periodToken)
229
+ .Args("maxCount", maxCount)
230
+ .CommandBuilder();
231
+ EngineBridge.GetInstance().CallHandler(command, result =>
232
+ {
233
+ if (result.code != Result.RESULT_SUCCESS)
234
+ {
235
+ return;
236
+ }
237
+
238
+ if (string.IsNullOrEmpty(result.content))
239
+ {
240
+ return;
241
+ }
242
+
243
+ Debug.Log("LoadPlayerCenteredScores, result ==>>> " + JsonConvert.SerializeObject(result));
244
+ var dic = Json.Deserialize(result.content) as Dictionary<string, object>;
245
+ var status = SafeDictionary.GetValue<string>(dic, "status");
246
+ switch (status)
247
+ {
248
+ case "success":
249
+ var jsonStr = SafeDictionary.GetValue<string>(dic, "data");
250
+ Debug.Log("Load player centered scores success: " + jsonStr);
251
+ var data = JsonConvert.DeserializeObject<LeaderboardScoreResponse>(jsonStr);
252
+ if (callback != null)
253
+ {
254
+ callback.OnSuccess(data);
255
+ }
256
+ break;
257
+ case "failure":
258
+ var errorCode = SafeDictionary.GetValue<int>(dic, "errCode");
259
+ var errorMsg = SafeDictionary.GetValue<string>(dic, "errMessage");
260
+ Debug.Log("Load failed load player centered scores:: errorCode: " + errorCode + ", errorMsg: " + errorMsg);
261
+ if (callback != null)
262
+ {
263
+ callback.OnFailure(errorCode, errorMsg);
264
+ }
265
+ break;
266
+ }
267
+ });
268
+ }
269
+
270
+ public void SetShareCallback(ITapTapLeaderboardShareCallback callback)
271
+ {
272
+ var command = new Command.Builder()
273
+ .Service(SERVICE_NAME)
274
+ .Method("setShareCallback")
275
+ .Callback(true)
276
+ .OnceTime(false)
277
+ .CommandBuilder();
278
+ EngineBridge.GetInstance().CallHandler(command, result =>
279
+ {
280
+ if (result.code != Result.RESULT_SUCCESS)
281
+ {
282
+ return;
283
+ }
284
+
285
+ if (string.IsNullOrEmpty(result.content))
286
+ {
287
+ return;
288
+ }
289
+
290
+ Debug.Log("SetShareCallback, result ==>>> " + JsonConvert.SerializeObject(result));
291
+ var dic = Json.Deserialize(result.content) as Dictionary<string, object>;
292
+ var status = SafeDictionary.GetValue<string>(dic, "status");
293
+ switch (status)
294
+ {
295
+ case "success":
296
+ var localPath = SafeDictionary.GetValue<string>(dic, "data");
297
+ Debug.Log("share success: " + localPath);
298
+ callback.OnShareSuccess(localPath);
299
+ break;
300
+ case "failure":
301
+ var errorCode = SafeDictionary.GetValue<int>(dic, "errCode");
302
+ var errorMsg = SafeDictionary.GetValue<string>(dic, "errMessage");
303
+ callback.OnShareFailed(new Exception(errorMsg));
304
+ break;
305
+ }
306
+ });
307
+ }
308
+
309
+ public void RegisterLeaderboardCallback(ITapTapLeaderboardCallback callback)
310
+ {
311
+ InitRegisterCallBack();
312
+ callbacks.Add(callback);
313
+ }
314
+
315
+ public void UnRegisterLeaderboardCallback(ITapTapLeaderboardCallback callback)
316
+ {
317
+ callbacks.Remove(callback);
318
+ }
319
+
320
+ private void InitRegisterCallBack()
321
+ {
322
+ if (hasRegisterCallBack)
323
+ {
324
+ return;
325
+ }
326
+ hasRegisterCallBack = true;
327
+ var command = new Command.Builder()
328
+ .Service(SERVICE_NAME)
329
+ .Method("registerLeaderboardCallback")
330
+ .Callback(true)
331
+ .OnceTime(false)
332
+ .CommandBuilder();
333
+ EngineBridge.GetInstance().CallHandler(command, (result) =>
334
+ {
335
+ if (result.code != Result.RESULT_SUCCESS)
336
+ {
337
+ return;
338
+ }
339
+
340
+ if (string.IsNullOrEmpty(result.content))
341
+ {
342
+ return;
343
+ }
344
+
345
+ var dic = Json.Deserialize(result.content) as Dictionary<string, object>;
346
+ var status = SafeDictionary.GetValue<string>(dic, "status");
347
+ switch (status)
348
+ {
349
+ case "failure":
350
+ var errorCode = SafeDictionary.GetValue<int>(dic, "errCode");
351
+ var errorMsg = SafeDictionary.GetValue<string>(dic, "errMessage");
352
+ foreach (var callback in callbacks)
353
+ {
354
+ callback.OnLeaderboardResult(errorCode, errorMsg);
355
+ }
356
+ break;
357
+ }
358
+ });
359
+ }
360
+ }
361
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 25ab032f13a4c4cde98a0beaa4a6c3b0
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: 3143128796f2146bf80fd70f3dab8e23
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
package/Mobile.meta ADDED
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 19180d3f0d5b2495e9dbc4b874bfba14
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,70 @@
1
+ using System.Collections.Generic;
2
+ using TapSDK.Core.Internal.Utils;
3
+
4
+ namespace TapSDK.Leaderboard.Runtime.Internal
5
+ {
6
+ public class TapTapLeaderboardManager
7
+ {
8
+ private static TapTapLeaderboardManager _instance;
9
+
10
+ private readonly ILeaderboardPlatform _platform;
11
+
12
+ private readonly List<ITapTapLeaderboardCallback> _callbacks = new List<ITapTapLeaderboardCallback>();
13
+
14
+ public static TapTapLeaderboardManager Instance => _instance ?? (_instance = new TapTapLeaderboardManager());
15
+
16
+ private TapTapLeaderboardManager()
17
+ {
18
+ _platform = BridgeUtils.CreateBridgeImplementation(typeof(ILeaderboardPlatform), "TapSDK.Leaderboard")
19
+ as ILeaderboardPlatform;
20
+ }
21
+
22
+ public void OpenUserProfile(string openId, string unionId) => _platform.OpenUserProfile(openId, unionId);
23
+
24
+ public void OpenLeaderboard(string leaderboardId, string collection) =>
25
+ _platform.OpenLeaderboard(leaderboardId, collection);
26
+
27
+ public void SubmitScores(List<SubmitScoresRequest.ScoreItem> scores,
28
+ ITapTapLeaderboardResponseCallback<SubmitScoresResponse> callback)
29
+ {
30
+ _platform.SubmitScores(scores, callback);
31
+ }
32
+
33
+ public void LoadLeaderboardScores(
34
+ string leaderboardId,
35
+ string leaderboardCollection,
36
+ string nextPage,
37
+ string periodToken,
38
+ ITapTapLeaderboardResponseCallback<LeaderboardScoreResponse> callback) =>
39
+ _platform.LoadLeaderboardScores(leaderboardId, leaderboardCollection, nextPage, periodToken, callback);
40
+
41
+ public void LoadCurrentPlayerLeaderboardScore(string leaderboardId,
42
+ string leaderboardCollection,
43
+ string periodToken,
44
+ ITapTapLeaderboardResponseCallback<UserScoreResponse> callback)
45
+ {
46
+ _platform.LoadCurrentPlayerLeaderboardScore(leaderboardId, leaderboardCollection, periodToken, callback);
47
+ }
48
+
49
+ public void LoadPlayerCenteredScores(string leaderboardId,
50
+ string leaderboardCollection,
51
+ string periodToken,
52
+ int? maxCount,
53
+ ITapTapLeaderboardResponseCallback<LeaderboardScoreResponse> callback)
54
+ {
55
+ _platform.LoadPlayerCenteredScores(leaderboardId, leaderboardCollection, periodToken, maxCount, callback);
56
+ }
57
+
58
+ public void RegisterLeaderboardCallback(ITapTapLeaderboardCallback callback)
59
+ {
60
+ _platform.RegisterLeaderboardCallback(callback);
61
+ }
62
+
63
+ public void UnregisterLeaderboardCallback(ITapTapLeaderboardCallback callback)
64
+ {
65
+ _platform.UnRegisterLeaderboardCallback(callback);
66
+ }
67
+
68
+ public void SetShareCallback(ITapTapLeaderboardShareCallback callback) => _platform.SetShareCallback(callback);
69
+ }
70
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: a1244e3500b2a41598ec73b29d45209a
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: 349184bd0ab4d4450b32b91ee8086356
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant: