Skip to content

Commit ef2b158

Browse files
Remove duplicate code when serializing server responses
1 parent 2e18e0a commit ef2b158

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

Runtime/Client/LootLockerServerRequest.cs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,9 @@ public class LootLockerResponse
6565
public string EventId;
6666

6767
public static void Serialize<T>(Action<T> onComplete, LootLockerResponse serverResponse)
68-
where T : LootLockerResponse
68+
where T : LootLockerResponse, new()
6969
{
70-
if (!string.IsNullOrEmpty(serverResponse.Error)) return;
71-
72-
var response = JsonConvert.DeserializeObject<T>(serverResponse.text);
73-
74-
response.text = serverResponse.text;
75-
response.success = serverResponse.success;
76-
response.Error = serverResponse.Error;
77-
response.statusCode = serverResponse.statusCode;
78-
onComplete?.Invoke(response);
70+
onComplete?.Invoke(Serialize<T>(serverResponse));
7971
}
8072

8173
public static T Serialize<T>(LootLockerResponse serverResponse)
@@ -90,7 +82,7 @@ public static T Serialize<T>(LootLockerResponse serverResponse)
9082
return new T() { success = false, Error = serverResponse.Error };
9183
}
9284

93-
var response = JsonConvert.DeserializeObject<T>(serverResponse.text);
85+
var response = JsonConvert.DeserializeObject<T>(serverResponse.text) ?? new T();
9486

9587
response.text = serverResponse.text;
9688
response.success = serverResponse.success;

0 commit comments

Comments
 (0)