com.xmobitea.changx.gn-unity 2.0.1 → 2.0.2

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.
@@ -4,7 +4,6 @@
4
4
  using System.Collections.Generic;
5
5
  using System.Linq;
6
6
  using System.Reflection;
7
- using UnityEngine;
8
7
  using XmobiTea.GN.Common;
9
8
  using XmobiTea.GN.Entity;
10
9
 
@@ -160,7 +159,7 @@
160
159
  {
161
160
  if (value == null)
162
161
  {
163
- if (declaredField.defaultValue != null) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
162
+ if (declaredField.defaultValue != null) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
164
163
  }
165
164
  else if (value is bool) declaredField.fieldInfo.SetValue(answer, value);
166
165
  }
@@ -170,15 +169,15 @@
170
169
  {
171
170
  if (declaredField.defaultValue != null)
172
171
  {
173
- if (declaredField.fieldInfo.FieldType == typeOfGNHashtable) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
174
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IDictionary)) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(((GNHashtable)(declaredField.defaultValue)).toData(), declaredField.fieldInfo.FieldType));
172
+ if (declaredField.fieldInfo.FieldType == typeOfGNHashtable) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
173
+ else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IDictionary)) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(((GNHashtable)(declaredField.defaultValue)).toData(), declaredField.fieldInfo.FieldType));
175
174
  else declaredField.fieldInfo.SetValue(answer, this.deserializeObject((GNHashtable)declaredField.defaultValue, declaredField.cls));
176
175
  }
177
176
  }
178
177
  else
179
178
  {
180
- if (declaredField.fieldInfo.FieldType == typeOfGNHashtable) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(value, declaredField.fieldInfo.FieldType));
181
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IDictionary)) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(((IGNData)value).toData(), declaredField.fieldInfo.FieldType));
179
+ if (declaredField.fieldInfo.FieldType == typeOfGNHashtable) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(value, declaredField.fieldInfo.FieldType));
180
+ else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IDictionary)) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(((IGNData)value).toData(), declaredField.fieldInfo.FieldType));
182
181
  else declaredField.fieldInfo.SetValue(answer, this.deserializeObject((GNHashtable)value, declaredField.cls));
183
182
  }
184
183
  }
@@ -188,23 +187,23 @@
188
187
  {
189
188
  if (declaredField.defaultValue != null)
190
189
  {
191
- if (declaredField.fieldInfo.FieldType == typeOfGNArray) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
192
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IList)) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(((GNArray)declaredField.defaultValue).toData(), declaredField.fieldInfo.FieldType));
190
+ if (declaredField.fieldInfo.FieldType == typeOfGNArray) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
191
+ else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IList)) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(((GNArray)declaredField.defaultValue).toData(), declaredField.fieldInfo.FieldType));
193
192
  }
194
193
  }
195
194
  else
196
195
  {
197
- if (declaredField.fieldInfo.FieldType == typeOfGNArray) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(value, declaredField.fieldInfo.FieldType));
198
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IList)) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(((IGNData)value).toData(), declaredField.fieldInfo.FieldType));
196
+ if (declaredField.fieldInfo.FieldType == typeOfGNArray) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(value, declaredField.fieldInfo.FieldType));
197
+ else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IList)) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(((IGNData)value).toData(), declaredField.fieldInfo.FieldType));
199
198
  }
200
199
  }
201
200
  else if (declaredField.gnFieldType == GNFieldDataType.Number)
202
201
  {
203
202
  if (value == null)
204
203
  {
205
- if (declaredField.defaultValue != null) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
204
+ if (declaredField.defaultValue != null) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
206
205
  }
207
- else if (ConverterService.isNumber(value)) declaredField.fieldInfo.SetValue(answer, Convert.ChangeType(value, declaredField.fieldInfo.FieldType));
206
+ else if (ConverterService.isNumber(value)) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(value, declaredField.fieldInfo.FieldType));
208
207
  }
209
208
  else
210
209
  {
@@ -395,6 +394,26 @@
395
394
  }
396
395
  }
397
396
 
397
+ internal class CustomConvert
398
+ {
399
+ public static object ChangeType(object value, Type conversion)
400
+ {
401
+ var t = conversion;
402
+
403
+ if (t.IsGenericType && t.GetGenericTypeDefinition().Equals(typeof(Nullable<>)))
404
+ {
405
+ if (value == null)
406
+ {
407
+ return null;
408
+ }
409
+
410
+ t = Nullable.GetUnderlyingType(t);
411
+ }
412
+
413
+ return Convert.ChangeType(value, t);
414
+ }
415
+ }
416
+
398
417
  public class ConverterService
399
418
  {
400
419
  private static SerializeConverter serializeConverter;
@@ -149,25 +149,23 @@
149
149
 
150
150
  if (postType == PostType.Json)
151
151
  {
152
-
153
152
  var content = Encoding.UTF8.GetBytes(Serializer.Serialize(param.toData()));
154
153
 
155
154
  requestMessage.Content = new ByteArrayContent(content);
156
155
 
157
- requestMessage.Headers.Add(Commands.CONTENT_TYPE, Commands.APPLICATION_JSON);
156
+ requestMessage.Headers.TryAddWithoutValidation(Commands.CONTENT_TYPE, Commands.APPLICATION_JSON);
158
157
  }
159
158
  else if (postType == PostType.MsgPack)
160
159
  {
161
-
162
160
  var content = MsgPackSerializer.Serialize(param.toData());
163
161
 
164
162
  requestMessage.Content = new ByteArrayContent(content);
165
163
 
166
- requestMessage.Headers.Add(Commands.CONTENT_TYPE, Commands.APPLICATION_MSGPACK);
164
+ requestMessage.Headers.TryAddWithoutValidation(Commands.CONTENT_TYPE, Commands.APPLICATION_MSGPACK);
167
165
  }
168
166
 
169
- if (!string.IsNullOrEmpty(authToken)) requestMessage.Headers.Add(Commands.RequestAuthTokenCmd, authToken);
170
- if (!string.IsNullOrEmpty(secretKey)) requestMessage.Headers.Add(Commands.RequestSecretCmd, secretKey);
167
+ if (!string.IsNullOrEmpty(authToken)) requestMessage.Headers.TryAddWithoutValidation(Commands.RequestAuthTokenCmd, authToken);
168
+ if (!string.IsNullOrEmpty(secretKey)) requestMessage.Headers.TryAddWithoutValidation(Commands.RequestSecretCmd, secretKey);
171
169
 
172
170
  try
173
171
  {
@@ -473,6 +471,13 @@
473
471
  // }
474
472
  //}
475
473
 
474
+ public override void init(string httpUrl, string userAgent)
475
+ {
476
+ base.init(httpUrl, userAgent);
477
+
478
+ this.client.DefaultRequestHeaders.TryAddWithoutValidation(Commands.USER_AGENT, userAgent);
479
+ }
480
+
476
481
  public NetworkingPeerHttpWebRequest()
477
482
  {
478
483
  //HTTPManager.KeepAliveDefaultValue = true;
@@ -480,7 +485,6 @@
480
485
  this.client = new HttpClient();
481
486
  }
482
487
 
483
-
484
488
  }
485
489
 
486
490
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "com.xmobitea.changx.gn-unity",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "displayName": "XmobiTea GN Unity",
5
5
  "description": "XmobiTea Unity packages",
6
6
  "unity": "2020.3",