Skip to content

Commit d73a26f

Browse files
committed
Bug fix
1 parent c092419 commit d73a26f

File tree

5 files changed

+153
-27
lines changed

5 files changed

+153
-27
lines changed

Runtime/Client/LootLockerEndPoints.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,5 +161,10 @@ public static LootLockerEndPoints current
161161
public EndPointClass getByListOfMembers = new EndPointClass("leaderboards/{0}/members", LootLockerHTTPMethod.POST);
162162
public EndPointClass getScoreList = new EndPointClass("leaderboards/{0}/list?count={1}", LootLockerHTTPMethod.GET);
163163
public EndPointClass submitScore = new EndPointClass("leaderboards/{0}/submit", LootLockerHTTPMethod.POST);
164+
165+
//Drop Tables
166+
[Header("Drop Tables")]
167+
public EndPointClass ComputeAndLockDropTable = new EndPointClass("v1/player/droptables/{0}/compute", LootLockerHTTPMethod.POST);
168+
public EndPointClass PickDropsFromDropTable = new EndPointClass("v1/player/droptables/{0}/pick", LootLockerHTTPMethod.POST);
164169
}
165170
}

Runtime/Game/LootLockerSDKManager.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -926,7 +926,20 @@ public static void SubmitScore(string member_id, int score, int id, Action<LootL
926926

927927
LootLockerAPIManager.SubmitScore(request, id.ToString(), onComplete);
928928
}
929+
public static void ComputeAndLockDropTable(int tableId, Action<LootLockerComputeAndLockDropTableResponse> onComplete)
930+
{
931+
if (!CheckInitialized()) return;
932+
LootLockerAPIManager.ComputeAndLockDropTable(tableId, onComplete);
933+
}
929934

935+
public static void PickDropsFromDropTable(int[] picks, int tableId, Action<LootLockerPickDropsFromDropTableResponse> onComplete)
936+
{
937+
if (!CheckInitialized()) return;
938+
PickDropsFromDropTableRequest data = new PickDropsFromDropTableRequest();
939+
data.picks = picks;
940+
941+
LootLockerAPIManager.PickDropsFromDropTable(data,tableId, onComplete);
942+
}
930943
#endregion
931944
}
932945

Runtime/Game/Requests/AssetRequest.cs

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -192,16 +192,16 @@ public static void GetAssetsOriginal(Action<LootLockerAssetResponse> onComplete,
192192
EndPointClass endPoint = LootLockerEndPoints.current.gettingAssetListWithCount;
193193
string getVariable = string.Format(endPoint.endPoint, assetCount);
194194

195-
if (idOfLastAsset != null && assetCount > 0)
195+
if (idOfLastAsset != null && assetCount > 0)
196196
{
197197
endPoint = LootLockerEndPoints.current.gettingAssetListWithAfterAndCount;
198198
getVariable = string.Format(endPoint.endPoint, assetCount, idOfLastAsset.ToString());
199199
}
200-
else if (idOfLastAsset != null && assetCount > 0 && filter!= LootLocker.LootLockerEnums.AssetFilter.none)
200+
else if (idOfLastAsset != null && assetCount > 0 && filter != LootLocker.LootLockerEnums.AssetFilter.none)
201201
{
202202
endPoint = LootLockerEndPoints.current.gettingAssetListOriginal;
203203
string filterString = "";
204-
switch(filter)
204+
switch (filter)
205205
{
206206
case LootLocker.LootLockerEnums.AssetFilter.purchasable:
207207
filterString = LootLocker.LootLockerEnums.AssetFilter.purchasable.ToString();
@@ -235,10 +235,10 @@ public static void GetAssetsOriginal(Action<LootLockerAssetResponse> onComplete,
235235
LootLockerAssetRequest.lastId = response.assets.Last()?.id != null ? response.assets.Last().id : 0;
236236
}
237237

238-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
238+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
239239
response.text = serverResponse.text;
240-
response.status = serverResponse.status;
241-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
240+
response.status = serverResponse.status;
241+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
242242
onComplete?.Invoke(response);
243243

244244
}, true);
@@ -260,10 +260,10 @@ public static void GetAssetListWithCount(LootLockerGetRequest data, Action<LootL
260260
LootLockerAssetRequest.lastId = response.assets.Last()?.id != null ? response.assets.Last().id : 0;
261261
}
262262

263-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
263+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
264264
response.text = serverResponse.text;
265-
response.status = serverResponse.status;
266-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
265+
response.status = serverResponse.status;
266+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
267267
onComplete?.Invoke(response);
268268
}, true);
269269
}
@@ -278,12 +278,16 @@ public static void GetAssetListWithAfterCount(LootLockerAssetRequest data, Actio
278278
{
279279
LootLockerAssetResponse response = new LootLockerAssetResponse();
280280
if (string.IsNullOrEmpty(serverResponse.Error))
281+
{
281282
response = JsonConvert.DeserializeObject<LootLockerAssetResponse>(serverResponse.text);
282283

283-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
284+
if (response != null)
285+
LootLockerAssetRequest.lastId = response.assets.Last()?.id != null ? response.assets.Last().id : 0;
286+
}
287+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
284288
response.text = serverResponse.text;
285-
response.status = serverResponse.status;
286-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
289+
response.status = serverResponse.status;
290+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
287291
onComplete?.Invoke(response);
288292
}, true);
289293
}
@@ -307,10 +311,10 @@ public static void GetAssetsById(LootLockerGetRequest data, Action<LootLockerAss
307311
if (string.IsNullOrEmpty(serverResponse.Error))
308312
response = JsonConvert.DeserializeObject<LootLockerAssetResponse>(serverResponse.text);
309313

310-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
314+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
311315
response.text = serverResponse.text;
312-
response.status = serverResponse.status;
313-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
316+
response.status = serverResponse.status;
317+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
314318
onComplete?.Invoke(response);
315319
}, true);
316320
}
@@ -332,10 +336,10 @@ public static void GetAssetInformation(LootLockerGetRequest data, Action<LootLoc
332336
if (string.IsNullOrEmpty(serverResponse.Error))
333337
response = JsonConvert.DeserializeObject<LootLockerCommonAsset>(serverResponse.text);
334338

335-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
339+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
336340
response.text = serverResponse.text;
337-
response.status = serverResponse.status;
338-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
341+
response.status = serverResponse.status;
342+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
339343
onComplete?.Invoke(response);
340344
}, true);
341345
}
@@ -352,10 +356,10 @@ public static void ListFavouriteAssets(Action<LootLockerFavouritesListResponse>
352356
if (string.IsNullOrEmpty(serverResponse.Error))
353357
response = JsonConvert.DeserializeObject<LootLockerFavouritesListResponse>(serverResponse.text);
354358

355-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
359+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
356360
response.text = serverResponse.text;
357-
response.status = serverResponse.status;
358-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
361+
response.status = serverResponse.status;
362+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
359363
onComplete?.Invoke(response);
360364
}, true);
361365
}
@@ -372,10 +376,10 @@ public static void AddFavouriteAsset(LootLockerGetRequest data, Action<LootLocke
372376
if (string.IsNullOrEmpty(serverResponse.Error))
373377
response = JsonConvert.DeserializeObject<LootLockerAssetResponse>(serverResponse.text);
374378

375-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
379+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
376380
response.text = serverResponse.text;
377-
response.status = serverResponse.status;
378-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
381+
response.status = serverResponse.status;
382+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
379383
onComplete?.Invoke(response);
380384
}, true);
381385
}
@@ -392,10 +396,10 @@ public static void RemoveFavouriteAsset(LootLockerGetRequest data, Action<LootLo
392396
if (string.IsNullOrEmpty(serverResponse.Error))
393397
response = JsonConvert.DeserializeObject<LootLockerAssetResponse>(serverResponse.text);
394398

395-
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
399+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
396400
response.text = serverResponse.text;
397-
response.status = serverResponse.status;
398-
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
401+
response.status = serverResponse.status;
402+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
399403
onComplete?.Invoke(response);
400404
}, true);
401405
}
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
using LootLocker.Requests;
2+
using Newtonsoft.Json;
3+
using System;
4+
using System.Collections;
5+
using System.Collections.Generic;
6+
using UnityEngine;
7+
8+
namespace LootLocker.Requests
9+
{
10+
11+
public class LootLockerComputeAndLockDropTableResponse : LootLockerResponse
12+
{
13+
public bool success { get; set; }
14+
public LootLockerComputeAndLockItem[] items { get; set; }
15+
}
16+
17+
public class LootLockerComputeAndLockItem
18+
{
19+
public int asset_id { get; set; }
20+
public int? asset_variation_id { get; set; }
21+
public int? asset_rental_option_id { get; set; }
22+
public int id { get; set; }
23+
}
24+
public class LootLockerPickDropsFromDropTableResponse : LootLockerResponse
25+
{
26+
public bool success { get; set; }
27+
public LootLockerPickDropsFromDropTableItem[] items { get; set; }
28+
}
29+
30+
public class LootLockerPickDropsFromDropTableItem
31+
{
32+
public int instance_id { get; set; }
33+
public int? variation_id { get; set; }
34+
public int? rental_option_id { get; set; }
35+
public int? quantity { get; set; }
36+
public LootLockerCommonAsset asset { get; set; }
37+
}
38+
39+
public class PickDropsFromDropTableRequest
40+
{
41+
public int[] picks { get; set; }
42+
}
43+
44+
}
45+
46+
namespace LootLocker
47+
{
48+
public partial class LootLockerAPIManager
49+
{
50+
public static void ComputeAndLockDropTable(int tableId, Action<LootLockerComputeAndLockDropTableResponse> onComplete)
51+
{
52+
EndPointClass requestEndPoint = LootLockerEndPoints.current.PickDropsFromDropTable;
53+
54+
string endPoint = string.Format(requestEndPoint.endPoint, tableId);
55+
56+
LootLockerServerRequest.CallAPI(endPoint, requestEndPoint.httpMethod, null, onComplete: (serverResponse) =>
57+
{
58+
LootLockerComputeAndLockDropTableResponse response = new LootLockerComputeAndLockDropTableResponse();
59+
if (string.IsNullOrEmpty(serverResponse.Error))
60+
response = JsonConvert.DeserializeObject<LootLockerComputeAndLockDropTableResponse>(serverResponse.text);
61+
62+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
63+
response.text = serverResponse.text;
64+
response.status = serverResponse.status;
65+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
66+
onComplete?.Invoke(response);
67+
}, useAuthToken: true, callerRole: LootLocker.LootLockerEnums.LootLockerCallerRole.User);
68+
}
69+
70+
public static void PickDropsFromDropTable(PickDropsFromDropTableRequest data, int tableId, Action<LootLockerPickDropsFromDropTableResponse> onComplete)
71+
{
72+
EndPointClass requestEndPoint = LootLockerEndPoints.current.PickDropsFromDropTable;
73+
string json = "";
74+
if (data == null) return;
75+
else json = JsonConvert.SerializeObject(data);
76+
77+
string endPoint = string.Format(requestEndPoint.endPoint, tableId);
78+
79+
LootLockerServerRequest.CallAPI(endPoint, requestEndPoint.httpMethod, json, onComplete: (serverResponse) =>
80+
{
81+
LootLockerPickDropsFromDropTableResponse response = new LootLockerPickDropsFromDropTableResponse();
82+
if (string.IsNullOrEmpty(serverResponse.Error))
83+
response = JsonConvert.DeserializeObject<LootLockerPickDropsFromDropTableResponse>(serverResponse.text);
84+
85+
// LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
86+
response.text = serverResponse.text;
87+
response.status = serverResponse.status;
88+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
89+
onComplete?.Invoke(response);
90+
}, useAuthToken: true, callerRole: LootLocker.LootLockerEnums.LootLockerCallerRole.User);
91+
}
92+
}
93+
}

Runtime/Game/Requests/DropTableRequest.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)