com.xmobitea.changx.gn-unity 2.0.0 → 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.
@@ -13,8 +13,12 @@
13
13
  public enum HttpRequestType
14
14
  {
15
15
  UnityWebRequest = 0,
16
+
17
+ #if UNITY_USING_BEST_HTTP
16
18
  HTTPRequest = 1,
19
+ #endif
17
20
 
21
+ HttpWebRequest = 2,
18
22
  }
19
23
 
20
24
  //[CreateAssetMenu(fileName = GNServerSettings.ResourcesPath, menuName = "GN/GNServerSettings", order = 1)]
@@ -62,10 +66,7 @@
62
66
  private PeerSocketVersion peerSocketVersion = PeerSocketVersion.V3;
63
67
 
64
68
  [SerializeField]
65
- private string gnServerSourcePath = "Template_GN-server";
66
-
67
- [SerializeField]
68
- private HttpRequestType httpRequestType = HttpRequestType.HTTPRequest;
69
+ private HttpRequestType httpRequestType = HttpRequestType.UnityWebRequest;
69
70
 
70
71
  [SerializeField]
71
72
  private GN.Logger.LogType logType = GN.Logger.LogType.All;
@@ -136,11 +137,6 @@
136
137
  return this.peerSocketVersion;
137
138
  }
138
139
 
139
- public string getGNServerSourcePath()
140
- {
141
- return this.gnServerSourcePath;
142
- }
143
-
144
140
  public HttpRequestType getHttpRequestType()
145
141
  {
146
142
  return this.httpRequestType;
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 3d0ecb4f8957d344aadaae7e4069f4f0
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 3d0ecb4f8957d344aadaae7e4069f4f0
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 89d3e5c556b6e994090dc0d7dfbb394f
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 89d3e5c556b6e994090dc0d7dfbb394f
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -116,7 +116,7 @@ namespace XmobiTea.GN.Entity
116
116
  {
117
117
  public override GNFieldDataType gnFieldType => GNFieldDataType.Number;
118
118
 
119
- public new double defaultValue { get; set; }
119
+ //public new double defaultValue { get; set; }
120
120
  public double minValue { get; set; } = -1;
121
121
  public double maxValue { get; set; } = -1;
122
122
  public bool mustInt { get; set; } = false;
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: e83a99a7557b0d441aa6716cd4eda37c
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: e83a99a7557b0d441aa6716cd4eda37c
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: c59d9a28490c0fa4e8e0862c1017e73d
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: c59d9a28490c0fa4e8e0862c1017e73d
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 70604bef7a3a2d148854c6802625d996
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 70604bef7a3a2d148854c6802625d996
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: baa1ae83105a35e4eaa720f0675f96db
3
- MonoImporter:
4
- externalObjects: {}
5
- serializedVersion: 2
6
- defaultReferences: []
7
- executionOrder: 0
8
- icon: {instanceID: 0}
9
- userData:
10
- assetBundleName:
11
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: baa1ae83105a35e4eaa720f0675f96db
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -149,12 +149,18 @@
149
149
 
150
150
  if (declaredField.gnFieldType == GNFieldDataType.String)
151
151
  {
152
- if (value == null) declaredField.fieldInfo.SetValue(answer, declaredField.defaultValue);
152
+ if (value == null)
153
+ {
154
+ if (declaredField.defaultValue != null) declaredField.fieldInfo.SetValue(answer, declaredField.defaultValue);
155
+ }
153
156
  else if (value is string) declaredField.fieldInfo.SetValue(answer, value);
154
157
  }
155
158
  else if (declaredField.gnFieldType == GNFieldDataType.Boolean)
156
159
  {
157
- if (value == null) declaredField.fieldInfo.SetValue(answer, declaredField.defaultValue);
160
+ if (value == null)
161
+ {
162
+ if (declaredField.defaultValue != null) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
163
+ }
158
164
  else if (value is bool) declaredField.fieldInfo.SetValue(answer, value);
159
165
  }
160
166
  else if (declaredField.gnFieldType == GNFieldDataType.GNHashtable)
@@ -163,15 +169,15 @@
163
169
  {
164
170
  if (declaredField.defaultValue != null)
165
171
  {
166
- if (declaredField.fieldInfo.FieldType == typeOfGNHashtable) declaredField.fieldInfo.SetValue(answer, declaredField.defaultValue);
167
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IDictionary)) declaredField.fieldInfo.SetValue(answer, ((GNHashtable)(declaredField.defaultValue)).toData());
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));
168
174
  else declaredField.fieldInfo.SetValue(answer, this.deserializeObject((GNHashtable)declaredField.defaultValue, declaredField.cls));
169
175
  }
170
176
  }
171
177
  else
172
178
  {
173
- if (declaredField.fieldInfo.FieldType == typeOfGNHashtable) declaredField.fieldInfo.SetValue(answer, value);
174
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IDictionary)) declaredField.fieldInfo.SetValue(answer, ((IGNData)value).toData());
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));
175
181
  else declaredField.fieldInfo.SetValue(answer, this.deserializeObject((GNHashtable)value, declaredField.cls));
176
182
  }
177
183
  }
@@ -181,20 +187,23 @@
181
187
  {
182
188
  if (declaredField.defaultValue != null)
183
189
  {
184
- if (declaredField.fieldInfo.FieldType == typeOfGNArray) declaredField.fieldInfo.SetValue(answer, declaredField.defaultValue);
185
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IList)) declaredField.fieldInfo.SetValue(answer, ((GNArray)declaredField.defaultValue).toData());
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));
186
192
  }
187
193
  }
188
194
  else
189
195
  {
190
- if (declaredField.fieldInfo.FieldType == typeOfGNArray) declaredField.fieldInfo.SetValue(answer, value);
191
- else if (declaredField.fieldInfo.FieldType == typeof(System.Collections.IList)) declaredField.fieldInfo.SetValue(answer, ((IGNData)value).toData());
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));
192
198
  }
193
199
  }
194
200
  else if (declaredField.gnFieldType == GNFieldDataType.Number)
195
201
  {
196
- if (value == null) declaredField.fieldInfo.SetValue(answer, declaredField.defaultValue);
197
- else if (ConverterService.isNumber(value)) declaredField.fieldInfo.SetValue(answer, value);
202
+ if (value == null)
203
+ {
204
+ if (declaredField.defaultValue != null) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(declaredField.defaultValue, declaredField.fieldInfo.FieldType));
205
+ }
206
+ else if (ConverterService.isNumber(value)) declaredField.fieldInfo.SetValue(answer, CustomConvert.ChangeType(value, declaredField.fieldInfo.FieldType));
198
207
  }
199
208
  else
200
209
  {
@@ -385,6 +394,26 @@
385
394
  }
386
395
  }
387
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
+
388
417
  public class ConverterService
389
418
  {
390
419
  private static SerializeConverter serializeConverter;
@@ -59,8 +59,12 @@
59
59
  this.isUse = gnServerSettings.isUseHttp();
60
60
 
61
61
  var httpRequestType = gnServerSettings.getHttpRequestType();
62
- if (httpRequestType == HttpRequestType.HTTPRequest) this.networkingHttpPeerBase = new NetworkingPeerHttpRequest();
63
- else this.networkingHttpPeerBase = new NetworkingPeerUnityWebRequest();
62
+
63
+ #if UNITY_USING_BEST_HTTP
64
+ if (httpRequestType == HttpRequestType.HTTPRequest) this.networkingHttpPeerBase = new NetworkingPeerHttpRequest(); else
65
+ #endif
66
+ if (httpRequestType == HttpRequestType.UnityWebRequest) this.networkingHttpPeerBase = new NetworkingPeerUnityWebRequest();
67
+ else if (httpRequestType == HttpRequestType.HttpWebRequest) this.networkingHttpPeerBase = new NetworkingPeerHttpWebRequest();
64
68
 
65
69
  var httpUrl = gnServerSettings.getHttpUrl();
66
70
  var userAgent = "GN-unity-" + GNNetwork.getPlatform() + "@" + GNNetwork.getClientSdkVersion();