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.
- package/Editor/GNServerSettingsEditor.cs +294 -294
- package/Runtime/Config/GNServerSettings.cs +5 -9
- package/Runtime/Constant/EnumType/MatchmakingMemberStatus.cs.meta +11 -11
- package/Runtime/Constant/EnumType/MatchmakingTicketStatus.cs.meta +11 -11
- package/Runtime/Entity/DataMember.cs +1 -1
- package/Runtime/Entity/Models/MultiplayerModels.cs.meta +11 -11
- package/Runtime/Entity/Models/MultiplayerRequestModels.cs.meta +11 -11
- package/Runtime/Entity/Models/MultiplayerResponseModels.cs.meta +11 -11
- package/Runtime/GNNetworkMultiplayerApi.cs.meta +11 -11
- package/Runtime/Helper/ConverterService.cs +41 -12
- package/Runtime/Networking/Http/HttpPeer.cs +6 -2
- package/Runtime/Networking/Http/NetworkingPeerHttpClientRequest.cs +480 -363
- package/Runtime/Networking/Http/NetworkingPeerHttpRequest.cs +3 -68
- package/Runtime/Networking/Http/NetworkingPeerUnityWebRequest.cs +5 -1
- package/package.json +1 -1
|
@@ -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
|
|
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)
|
|
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)
|
|
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)
|
|
197
|
-
|
|
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
|
-
|
|
63
|
-
|
|
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();
|