@@ -187,55 +187,55 @@ public static void GetContext(Action<LootLockerContextResponse> onComplete)
187
187
} , true ) ;
188
188
}
189
189
190
- public static void GetAssetsOriginal ( Action < LootLockerAssetResponse > onComplete , int assetCount , int ? idOfLastAsset = null , LootLocker . LootLockerEnums . AssetFilter filter = LootLocker . LootLockerEnums . AssetFilter . none )
190
+ public static void GetAssetsOriginal ( Action < LootLockerAssetResponse > onComplete , int assetCount , int ? idOfLastAsset = null , List < LootLocker . LootLockerEnums . AssetFilter > filter = null , bool includeUGC = false , Dictionary < string , string > assetFilters = null )
191
191
{
192
192
EndPointClass endPoint = LootLockerEndPoints . gettingAssetListWithCount ;
193
193
string getVariable = string . Format ( endPoint . endPoint , assetCount ) ;
194
-
195
- if ( idOfLastAsset != null && assetCount > 0 )
194
+ string tempEndpoint = string . Empty ;
195
+ string filterString = string . Empty ;
196
+ if ( idOfLastAsset != null )
196
197
{
197
- endPoint = LootLockerEndPoints . gettingAssetListWithAfterAndCount ;
198
- getVariable = string . Format ( endPoint . endPoint , assetCount , idOfLastAsset . ToString ( ) ) ;
198
+ tempEndpoint = $ "&after= { idOfLastAsset } " ;
199
+ getVariable += tempEndpoint ;
199
200
}
200
- else if ( idOfLastAsset != null && assetCount > 0 && filter != LootLocker . LootLockerEnums . AssetFilter . none )
201
+
202
+ if ( filter != null )
201
203
{
202
- endPoint = LootLockerEndPoints . gettingAssetListOriginal ;
203
- string filterString = "" ;
204
- switch ( filter )
204
+ filterString = GetStringOfEnum ( filter . First ( ) ) ;
205
+ for ( int i = 1 ; i < filter . Count ; i ++ )
205
206
{
206
- case LootLocker . LootLockerEnums . AssetFilter . purchasable :
207
- filterString = LootLocker . LootLockerEnums . AssetFilter . purchasable . ToString ( ) ;
208
- break ;
209
- case LootLocker . LootLockerEnums . AssetFilter . nonpurchasable :
210
- filterString = "!purchasable" ;
211
- break ;
212
- case LootLocker . LootLockerEnums . AssetFilter . rentable :
213
- filterString = LootLocker . LootLockerEnums . AssetFilter . rentable . ToString ( ) ;
214
- break ;
215
- case LootLocker . LootLockerEnums . AssetFilter . nonrentable :
216
- filterString = "!rentable" ;
217
- break ;
218
- case LootLocker . LootLockerEnums . AssetFilter . popular :
219
- filterString = LootLocker . LootLockerEnums . AssetFilter . popular . ToString ( ) ;
220
- break ;
221
- case LootLocker . LootLockerEnums . AssetFilter . nonpopular :
222
- filterString = "!popular" ;
223
- break ;
207
+ filterString += "," + GetStringOfEnum ( filter [ i ] ) ;
224
208
}
225
- getVariable = string . Format ( endPoint . endPoint , assetCount , idOfLastAsset . ToString ( ) , filterString ) ;
209
+ tempEndpoint = $ "&filter={ filterString } ";
210
+ getVariable += tempEndpoint ;
211
+ }
212
+
213
+ if ( includeUGC )
214
+ {
215
+ tempEndpoint = $ "&include_ugc={ includeUGC . ToString ( ) . ToLower ( ) } ";
216
+ getVariable += tempEndpoint ;
226
217
}
227
218
219
+ if ( assetFilters != null )
220
+ {
221
+ KeyValuePair < string , string > keys = assetFilters . First ( ) ;
222
+ filterString = $ "{ keys . Key } ={ keys . Key } ";
223
+ int count = 0 ;
224
+ foreach ( var kvp in assetFilters )
225
+ {
226
+ if ( count > 0 )
227
+ filterString += $ ";{ kvp . Key } ={ kvp . Key } ";
228
+ count ++ ;
229
+ }
230
+ tempEndpoint = $ "&asset_filters={ filterString } ";
231
+ getVariable += tempEndpoint ;
232
+ }
228
233
LootLockerServerRequest . CallAPI ( getVariable , endPoint . httpMethod , null , onComplete : ( serverResponse ) =>
229
234
{
230
235
LootLockerAssetResponse response = new LootLockerAssetResponse ( ) ;
231
236
if ( string . IsNullOrEmpty ( serverResponse . Error ) )
232
- {
233
237
response = JsonConvert . DeserializeObject < LootLockerAssetResponse > ( serverResponse . text ) ;
234
- if ( response != null )
235
- LootLockerAssetRequest . lastId = response . assets . Last ( ) ? . id != null ? response . assets . Last ( ) . id : 0 ;
236
- }
237
238
238
- // LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
239
239
response . text = serverResponse . text ;
240
240
response . status = serverResponse . status ;
241
241
response . Error = serverResponse . Error ; response . statusCode = serverResponse . statusCode ;
@@ -244,53 +244,81 @@ public static void GetAssetsOriginal(Action<LootLockerAssetResponse> onComplete,
244
244
} , true ) ;
245
245
}
246
246
247
- public static void GetAssetListWithCount ( LootLockerGetRequest data , Action < LootLockerAssetResponse > onComplete )
247
+ public static string GetStringOfEnum ( LootLocker . LootLockerEnums . AssetFilter filter )
248
248
{
249
- EndPointClass endPoint = LootLockerEndPoints . gettingAssetListWithCount ;
250
-
251
- string getVariable = string . Format ( endPoint . endPoint , data . getRequests [ 0 ] ) ;
252
-
253
- LootLockerServerRequest . CallAPI ( getVariable , endPoint . httpMethod , null , onComplete : ( serverResponse ) =>
254
- {
255
- LootLockerAssetResponse response = new LootLockerAssetResponse ( ) ;
256
- if ( string . IsNullOrEmpty ( serverResponse . Error ) )
257
- {
258
- response = JsonConvert . DeserializeObject < LootLockerAssetResponse > ( serverResponse . text ) ;
259
- if ( response != null && response . assets . Length > 0 )
260
- LootLockerAssetRequest . lastId = response . assets . Last ( ) ? . id != null ? response . assets . Last ( ) . id : 0 ;
261
- }
262
-
263
- // LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
264
- response . text = serverResponse . text ;
265
- response . status = serverResponse . status ;
266
- response . Error = serverResponse . Error ; response . statusCode = serverResponse . statusCode ;
267
- onComplete ? . Invoke ( response ) ;
268
- } , true ) ;
249
+ string filterString = "" ;
250
+ switch ( filter )
251
+ {
252
+ case LootLocker . LootLockerEnums . AssetFilter . purchasable :
253
+ filterString = LootLocker . LootLockerEnums . AssetFilter . purchasable . ToString ( ) ;
254
+ break ;
255
+ case LootLocker . LootLockerEnums . AssetFilter . nonpurchasable :
256
+ filterString = "!purchasable" ;
257
+ break ;
258
+ case LootLocker . LootLockerEnums . AssetFilter . rentable :
259
+ filterString = LootLocker . LootLockerEnums . AssetFilter . rentable . ToString ( ) ;
260
+ break ;
261
+ case LootLocker . LootLockerEnums . AssetFilter . nonrentable :
262
+ filterString = "!rentable" ;
263
+ break ;
264
+ case LootLocker . LootLockerEnums . AssetFilter . popular :
265
+ filterString = LootLocker . LootLockerEnums . AssetFilter . popular . ToString ( ) ;
266
+ break ;
267
+ case LootLocker . LootLockerEnums . AssetFilter . nonpopular :
268
+ filterString = "!popular" ;
269
+ break ;
270
+ }
271
+ return filterString ;
269
272
}
270
273
271
- public static void GetAssetListWithAfterCount ( LootLockerAssetRequest data , Action < LootLockerAssetResponse > onComplete )
272
- {
273
- EndPointClass endPoint = LootLockerEndPoints . gettingAssetListWithAfterAndCount ;
274
-
275
- string getVariable = string . Format ( endPoint . endPoint , LootLockerAssetRequest . lastId , data . count ) ;
276
-
277
- LootLockerServerRequest . CallAPI ( getVariable , endPoint . httpMethod , null , onComplete : ( serverResponse ) =>
278
- {
279
- LootLockerAssetResponse response = new LootLockerAssetResponse ( ) ;
280
- if ( string . IsNullOrEmpty ( serverResponse . Error ) )
281
- {
282
- response = JsonConvert . DeserializeObject < LootLockerAssetResponse > ( serverResponse . text ) ;
283
274
284
- if ( response != null && response . assets . Length > 0 )
285
- LootLockerAssetRequest . lastId = response . assets . Last ( ) ? . id != null ? response . assets . Last ( ) . id : 0 ;
286
- }
287
- // LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
288
- response . text = serverResponse . text ;
289
- response . status = serverResponse . status ;
290
- response . Error = serverResponse . Error ; response . statusCode = serverResponse . statusCode ;
291
- onComplete ? . Invoke ( response ) ;
292
- } , true ) ;
293
- }
275
+ //public static void GetAssetListWithCount(LootLockerGetRequest data, Action<LootLockerAssetResponse> onComplete)
276
+ //{
277
+ // EndPointClass endPoint = LootLockerEndPoints.gettingAssetListWithCount;
278
+
279
+ // string getVariable = string.Format(endPoint.endPoint, data.getRequests[0]);
280
+
281
+ // LootLockerServerRequest.CallAPI(getVariable, endPoint.httpMethod, null, onComplete: (serverResponse) =>
282
+ // {
283
+ // LootLockerAssetResponse response = new LootLockerAssetResponse();
284
+ // if (string.IsNullOrEmpty(serverResponse.Error))
285
+ // {
286
+ // response = JsonConvert.DeserializeObject<LootLockerAssetResponse>(serverResponse.text);
287
+ // if (response != null && response.assets.Length > 0)
288
+ // LootLockerAssetRequest.lastId = response.assets.Last()?.id != null ? response.assets.Last().id : 0;
289
+ // }
290
+
291
+ // // LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
292
+ // response.text = serverResponse.text;
293
+ // response.status = serverResponse.status;
294
+ // response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
295
+ // onComplete?.Invoke(response);
296
+ // }, true);
297
+ //}
298
+
299
+ //public static void GetAssetListWithAfterCount(LootLockerAssetRequest data, Action<LootLockerAssetResponse> onComplete)
300
+ //{
301
+ // EndPointClass endPoint = LootLockerEndPoints.gettingAssetListWithAfterAndCount;
302
+
303
+ // string getVariable = string.Format(endPoint.endPoint, LootLockerAssetRequest.lastId, data.count);
304
+
305
+ // LootLockerServerRequest.CallAPI(getVariable, endPoint.httpMethod, null, onComplete: (serverResponse) =>
306
+ // {
307
+ // LootLockerAssetResponse response = new LootLockerAssetResponse();
308
+ // if (string.IsNullOrEmpty(serverResponse.Error))
309
+ // {
310
+ // response = JsonConvert.DeserializeObject<LootLockerAssetResponse>(serverResponse.text);
311
+
312
+ // if (response != null && response.assets.Length > 0)
313
+ // LootLockerAssetRequest.lastId = response.assets.Last()?.id != null ? response.assets.Last().id : 0;
314
+ // }
315
+ // // LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
316
+ // response.text = serverResponse.text;
317
+ // response.status = serverResponse.status;
318
+ // response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
319
+ // onComplete?.Invoke(response);
320
+ // }, true);
321
+ //}
294
322
295
323
public static void GetAssetsById ( LootLockerGetRequest data , Action < LootLockerAssetResponse > onComplete )
296
324
{
0 commit comments