@xmobitea/gn-typescript-client 2.6.12 → 2.6.13

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.
Files changed (127) hide show
  1. package/dist/gearn.js.client.js +183 -57
  2. package/dist/gearn.js.client.min.js +1 -1
  3. package/dist/index.d.ts +2 -2
  4. package/dist/index.js +183 -57
  5. package/dist/runtime/GNNetwork.d.ts +1 -1
  6. package/dist/runtime/helper/GNSupport.d.ts +20 -0
  7. package/dist/runtime/{entity → helper}/OperationHelper.d.ts +1 -1
  8. package/dist/runtime/helper/StorageService.d.ts +18 -0
  9. package/dist/runtime/networking/NetworkingPeer.d.ts +1 -1
  10. package/dist/runtime/typescript/ServiceUpdate.d.ts +2 -0
  11. package/docs/COCOS_CREATOR_INTEGRATION.md +116 -0
  12. package/examples/cocos-creator/GearNExample.ts.txt +176 -0
  13. package/package.json +3 -2
  14. package/srcSwift/Package.swift +32 -0
  15. package/srcSwift/Sources/GearN/runtime/GNNetwork.swift +530 -0
  16. package/srcSwift/Sources/GearN/runtime/GNNetworkAuthenticateApi.swift +178 -0
  17. package/srcSwift/Sources/GearN/runtime/GNNetworkCharacterPlayerApi.swift +1162 -0
  18. package/srcSwift/Sources/GearN/runtime/GNNetworkCloudScriptApi.swift +154 -0
  19. package/srcSwift/Sources/GearN/runtime/GNNetworkContentApi.swift +208 -0
  20. package/srcSwift/Sources/GearN/runtime/GNNetworkDashboardApi.swift +240 -0
  21. package/srcSwift/Sources/GearN/runtime/GNNetworkGamePlayerApi.swift +1369 -0
  22. package/srcSwift/Sources/GearN/runtime/GNNetworkGroupApi.swift +1100 -0
  23. package/srcSwift/Sources/GearN/runtime/GNNetworkInventoryApi.swift +937 -0
  24. package/srcSwift/Sources/GearN/runtime/GNNetworkMasterPlayerApi.swift +2323 -0
  25. package/srcSwift/Sources/GearN/runtime/GNNetworkMultiplayerApi.swift +298 -0
  26. package/srcSwift/Sources/GearN/runtime/GNNetworkStoreInventoryApi.swift +397 -0
  27. package/srcSwift/Sources/GearN/runtime/common/Action0.swift +3 -0
  28. package/srcSwift/Sources/GearN/runtime/common/Action1.swift +3 -0
  29. package/srcSwift/Sources/GearN/runtime/common/Action2.swift +3 -0
  30. package/srcSwift/Sources/GearN/runtime/common/Action3.swift +3 -0
  31. package/srcSwift/Sources/GearN/runtime/common/Action4.swift +3 -0
  32. package/srcSwift/Sources/GearN/runtime/common/GNArray.swift +204 -0
  33. package/srcSwift/Sources/GearN/runtime/common/GNData.swift +108 -0
  34. package/srcSwift/Sources/GearN/runtime/common/GNHashtable.swift +200 -0
  35. package/srcSwift/Sources/GearN/runtime/config/GNServerSettings.swift +95 -0
  36. package/srcSwift/Sources/GearN/runtime/constant/Commands.swift +28 -0
  37. package/srcSwift/Sources/GearN/runtime/constant/EventCode.swift +10 -0
  38. package/srcSwift/Sources/GearN/runtime/constant/OperationCode.swift +252 -0
  39. package/srcSwift/Sources/GearN/runtime/constant/ReturnCode.swift +19 -0
  40. package/srcSwift/Sources/GearN/runtime/constant/enumType/ExecuteResponseStatus.swift +9 -0
  41. package/srcSwift/Sources/GearN/runtime/constant/enumType/FriendStatus.swift +8 -0
  42. package/srcSwift/Sources/GearN/runtime/constant/enumType/GoogleLoginType.swift +6 -0
  43. package/srcSwift/Sources/GearN/runtime/constant/enumType/GroupStatus.swift +8 -0
  44. package/srcSwift/Sources/GearN/runtime/constant/enumType/InvalidMemberType.swift +19 -0
  45. package/srcSwift/Sources/GearN/runtime/constant/enumType/ItemType.swift +6 -0
  46. package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingMemberStatus.swift +7 -0
  47. package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingTicketStatus.swift +9 -0
  48. package/srcSwift/Sources/GearN/runtime/constant/enumType/OwnerType.swift +10 -0
  49. package/srcSwift/Sources/GearN/runtime/constant/enumType/PermissionDataItem.swift +6 -0
  50. package/srcSwift/Sources/GearN/runtime/constant/enumType/PushPlatformType.swift +6 -0
  51. package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestRole.swift +7 -0
  52. package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestType.swift +16 -0
  53. package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreItemType.swift +6 -0
  54. package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreReceiveType.swift +9 -0
  55. package/srcSwift/Sources/GearN/runtime/constant/errorCode/ErrorCode.swift +58 -0
  56. package/srcSwift/Sources/GearN/runtime/constant/parameterCode/ParameterCode.swift +672 -0
  57. package/srcSwift/Sources/GearN/runtime/entity/DataMember.swift +196 -0
  58. package/srcSwift/Sources/GearN/runtime/entity/GNMetadata.swift +9 -0
  59. package/srcSwift/Sources/GearN/runtime/entity/InvalidMember.swift +11 -0
  60. package/srcSwift/Sources/GearN/runtime/entity/OperationEvent.swift +38 -0
  61. package/srcSwift/Sources/GearN/runtime/entity/OperationHelper.swift +28 -0
  62. package/srcSwift/Sources/GearN/runtime/entity/OperationRequest.swift +62 -0
  63. package/srcSwift/Sources/GearN/runtime/entity/OperationResponse.swift +98 -0
  64. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateModels.swift +351 -0
  65. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateRequestModels.swift +81 -0
  66. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateResponseModels.swift +108 -0
  67. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerModels.swift +1045 -0
  68. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerRequestModels.swift +821 -0
  69. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerResponseModels.swift +588 -0
  70. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptModels.swift +187 -0
  71. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptRequestModels.swift +84 -0
  72. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptResponseModels.swift +59 -0
  73. package/srcSwift/Sources/GearN/runtime/entity/models/ContentModels.swift +195 -0
  74. package/srcSwift/Sources/GearN/runtime/entity/models/ContentRequestModels.swift +116 -0
  75. package/srcSwift/Sources/GearN/runtime/entity/models/ContentResponseModels.swift +81 -0
  76. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardModels.swift +426 -0
  77. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardRequestModels.swift +160 -0
  78. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardResponseModels.swift +82 -0
  79. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerModels.swift +1334 -0
  80. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerRequestModels.swift +643 -0
  81. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerResponseModels.swift +213 -0
  82. package/srcSwift/Sources/GearN/runtime/entity/models/GenericModels.swift +171 -0
  83. package/srcSwift/Sources/GearN/runtime/entity/models/GroupModels.swift +850 -0
  84. package/srcSwift/Sources/GearN/runtime/entity/models/GroupRequestModels.swift +485 -0
  85. package/srcSwift/Sources/GearN/runtime/entity/models/GroupResponseModels.swift +165 -0
  86. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryModels.swift +679 -0
  87. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryRequestModels.swift +413 -0
  88. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryResponseModels.swift +141 -0
  89. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerModels.swift +378 -0
  90. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerRequestModels.swift +147 -0
  91. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerResponseModels.swift +318 -0
  92. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerModels.swift +319 -0
  93. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerRequestModels.swift +125 -0
  94. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerResponseModels.swift +45 -0
  95. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryModels.swift +633 -0
  96. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryRequestModels.swift +173 -0
  97. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryResponseModels.swift +61 -0
  98. package/srcSwift/Sources/GearN/runtime/entity/request/CustomOperationRequest.swift +42 -0
  99. package/srcSwift/Sources/GearN/runtime/entity/response/CustomOperationResponse.swift +49 -0
  100. package/srcSwift/Sources/GearN/runtime/entity/response/GetAuthInfoResponse.swift +43 -0
  101. package/srcSwift/Sources/GearN/runtime/entity/response/HealthCheckResponse.swift +86 -0
  102. package/srcSwift/Sources/GearN/runtime/entity/response/UploadFileResponse.swift +15 -0
  103. package/srcSwift/Sources/GearN/runtime/helper/CodeHelper.swift +107 -0
  104. package/srcSwift/Sources/GearN/runtime/helper/ConverterService.swift +98 -0
  105. package/srcSwift/Sources/GearN/runtime/helper/EnumUtility.swift +34 -0
  106. package/srcSwift/Sources/GearN/runtime/helper/GNSupport.swift +41 -0
  107. package/srcSwift/Sources/GearN/runtime/helper/GNUtils.swift +66 -0
  108. package/srcSwift/Sources/GearN/runtime/helper/MessagePackConverterService.swift +21 -0
  109. package/srcSwift/Sources/GearN/runtime/helper/StorageService.swift +29 -0
  110. package/srcSwift/Sources/GearN/runtime/logger/GNDebug.swift +33 -0
  111. package/srcSwift/Sources/GearN/runtime/networking/AuthenticateStatus.swift +24 -0
  112. package/srcSwift/Sources/GearN/runtime/networking/IPeer.swift +8 -0
  113. package/srcSwift/Sources/GearN/runtime/networking/NetworkingPeer.swift +368 -0
  114. package/srcSwift/Sources/GearN/runtime/networking/OperationPending.swift +81 -0
  115. package/srcSwift/Sources/GearN/runtime/networking/PeerBase.swift +228 -0
  116. package/srcSwift/Sources/GearN/runtime/networking/handler/IServerEventHandler.swift +20 -0
  117. package/srcSwift/Sources/GearN/runtime/networking/http/HttpPeer.swift +226 -0
  118. package/srcSwift/Sources/GearN/runtime/networking/http/HttpTypes.swift +24 -0
  119. package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingHttpPeerBase.swift +13 -0
  120. package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingPeerUrlSession.swift +125 -0
  121. package/srcSwift/Sources/GearN/runtime/networking/request/NetRequest.swift +19 -0
  122. package/srcSwift/Sources/GearN/runtime/networking/response/NetResponse.swift +13 -0
  123. package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingPeerSocketIOClient.swift +244 -0
  124. package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingSocketPeerBase.swift +59 -0
  125. package/srcSwift/Sources/GearN/runtime/networking/socket/SocketPeer.swift +136 -0
  126. package/tsconfig-build.cocos.json +31 -0
  127. package/webpack.config.cocos.mjs +78 -0
@@ -0,0 +1,173 @@
1
+ import Foundation
2
+
3
+ /// StoreInventory Request Models - Operation request classes for StoreInventory API
4
+ public enum StoreInventoryRequestModels {
5
+
6
+ public class BuyStoreItemOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.BuyStoreItemRequestData> {
7
+ public override var operationCode: String { OperationCode.BuyStoreItem }
8
+ public override var requestType: RequestType { .StoreInventory }
9
+ public override var role: RequestRole { .Client }
10
+ }
11
+ public class ServerBuyStoreItemOperationRequest: BuyStoreItemOperationRequest {
12
+ public override var role: RequestRole { .Server }
13
+ }
14
+ public class AdminBuyStoreItemOperationRequest: BuyStoreItemOperationRequest {
15
+ public override var role: RequestRole { .Admin }
16
+ }
17
+
18
+ public class GetStoreItemInformationOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.GetStoreItemInformationRequestData> {
19
+ public override var operationCode: String { OperationCode.GetStoreItemInformation }
20
+ public override var requestType: RequestType { .StoreInventory }
21
+ public override var role: RequestRole { .Client }
22
+ }
23
+ public class ServerGetStoreItemInformationOperationRequest: GetStoreItemInformationOperationRequest {
24
+ public override var role: RequestRole { .Server }
25
+ }
26
+ public class AdminGetStoreItemInformationOperationRequest: GetStoreItemInformationOperationRequest {
27
+ public override var role: RequestRole { .Admin }
28
+ }
29
+
30
+ public class GetStoreItemsWithTagOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.GetStoreItemsWithTagRequestData> {
31
+ public override var operationCode: String { OperationCode.GetStoreItemsWithTag }
32
+ public override var requestType: RequestType { .StoreInventory }
33
+ public override var role: RequestRole { .Client }
34
+ }
35
+ public class ServerGetStoreItemsWithTagOperationRequest: GetStoreItemsWithTagOperationRequest {
36
+ public override var role: RequestRole { .Server }
37
+ }
38
+ public class AdminGetStoreItemsWithTagOperationRequest: GetStoreItemsWithTagOperationRequest {
39
+ public override var role: RequestRole { .Admin }
40
+ }
41
+
42
+ public class CreateStoreItemOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.CreateStoreItemRequestData> {
43
+ public override var operationCode: String { OperationCode.CreateStoreItem }
44
+ public override var requestType: RequestType { .StoreInventory }
45
+ public override var role: RequestRole { .Client }
46
+ }
47
+ public class ServerCreateStoreItemOperationRequest: CreateStoreItemOperationRequest {
48
+ public override var role: RequestRole { .Server }
49
+ }
50
+ public class AdminCreateStoreItemOperationRequest: CreateStoreItemOperationRequest {
51
+ public override var role: RequestRole { .Admin }
52
+ }
53
+
54
+ public class SetRemoveStatusOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.SetRemoveStatusRequestData> {
55
+ public override var operationCode: String { OperationCode.SetRemoveStatus }
56
+ public override var requestType: RequestType { .StoreInventory }
57
+ public override var role: RequestRole { .Client }
58
+ }
59
+ public class ServerSetRemoveStatusOperationRequest: SetRemoveStatusOperationRequest {
60
+ public override var role: RequestRole { .Server }
61
+ }
62
+ public class AdminSetRemoveStatusOperationRequest: SetRemoveStatusOperationRequest {
63
+ public override var role: RequestRole { .Admin }
64
+ }
65
+
66
+ public class SetStoreItemInformationOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.SetStoreItemInformationRequestData> {
67
+ public override var operationCode: String { OperationCode.SetStoreItemInformation }
68
+ public override var requestType: RequestType { .StoreInventory }
69
+ public override var role: RequestRole { .Client }
70
+ }
71
+ public class ServerSetStoreItemInformationOperationRequest: SetStoreItemInformationOperationRequest {
72
+ public override var role: RequestRole { .Server }
73
+ }
74
+ public class AdminSetStoreItemInformationOperationRequest: SetStoreItemInformationOperationRequest {
75
+ public override var role: RequestRole { .Admin }
76
+ }
77
+
78
+ public class ValidateAppleAppStoreReceiptOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.ValidateAppleAppStoreReceiptRequestData> {
79
+ public override var operationCode: String { OperationCode.ValidateAppleAppStoreReceipt }
80
+ public override var requestType: RequestType { .StoreInventory }
81
+ public override var role: RequestRole { .Client }
82
+ }
83
+ public class ServerValidateAppleAppStoreReceiptOperationRequest: ValidateAppleAppStoreReceiptOperationRequest {
84
+ public override var role: RequestRole { .Server }
85
+ }
86
+ public class AdminValidateAppleAppStoreReceiptOperationRequest: ValidateAppleAppStoreReceiptOperationRequest {
87
+ public override var role: RequestRole { .Admin }
88
+ }
89
+
90
+ public class ValidateFacebookStoreReceiptOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.ValidateFacebookStoreReceiptRequestData> {
91
+ public override var operationCode: String { OperationCode.ValidateFacebookStoreReceipt }
92
+ public override var requestType: RequestType { .StoreInventory }
93
+ public override var role: RequestRole { .Client }
94
+ }
95
+ public class ServerValidateFacebookStoreReceiptOperationRequest: ValidateFacebookStoreReceiptOperationRequest {
96
+ public override var role: RequestRole { .Server }
97
+ }
98
+ public class AdminValidateFacebookStoreReceiptOperationRequest: ValidateFacebookStoreReceiptOperationRequest {
99
+ public override var role: RequestRole { .Admin }
100
+ }
101
+
102
+ public class ValidateGooglePlayStoreReceiptOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.ValidateGooglePlayStoreReceiptRequestData> {
103
+ public override var operationCode: String { OperationCode.ValidateGooglePlayStoreReceipt }
104
+ public override var requestType: RequestType { .StoreInventory }
105
+ public override var role: RequestRole { .Client }
106
+ }
107
+ public class ServerValidateGooglePlayStoreReceiptOperationRequest: ValidateGooglePlayStoreReceiptOperationRequest {
108
+ public override var role: RequestRole { .Server }
109
+ }
110
+ public class AdminValidateGooglePlayStoreReceiptOperationRequest: ValidateGooglePlayStoreReceiptOperationRequest {
111
+ public override var role: RequestRole { .Admin }
112
+ }
113
+
114
+ public class GetCreateLeaderboardOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.GetCreateLeaderboardRequestData> {
115
+ public override var operationCode: String { OperationCode.GetCreateLeaderboard }
116
+ public override var requestType: RequestType { .StoreInventory }
117
+ public override var role: RequestRole { .Client }
118
+ }
119
+ public class ServerGetCreateLeaderboardOperationRequest: GetCreateLeaderboardOperationRequest {
120
+ public override var role: RequestRole { .Server }
121
+ }
122
+ public class AdminGetCreateLeaderboardOperationRequest: GetCreateLeaderboardOperationRequest {
123
+ public override var role: RequestRole { .Admin }
124
+ }
125
+
126
+ public class PresentStoreItemOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.PresentStoreItemRequestData> {
127
+ public override var operationCode: String { OperationCode.PresentStoreItem }
128
+ public override var requestType: RequestType { .StoreInventory }
129
+ public override var role: RequestRole { .Client }
130
+ }
131
+ public class ServerPresentStoreItemOperationRequest: PresentStoreItemOperationRequest {
132
+ public override var role: RequestRole { .Server }
133
+ }
134
+ public class AdminPresentStoreItemOperationRequest: PresentStoreItemOperationRequest {
135
+ public override var role: RequestRole { .Admin }
136
+ }
137
+
138
+ public class GetStoreLogOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.GetStoreLogRequestData> {
139
+ public override var operationCode: String { OperationCode.GetStoreLog }
140
+ public override var requestType: RequestType { .StoreInventory }
141
+ public override var role: RequestRole { .Client }
142
+ }
143
+ public class ServerGetStoreLogOperationRequest: GetStoreLogOperationRequest {
144
+ public override var role: RequestRole { .Server }
145
+ }
146
+ public class AdminGetStoreLogOperationRequest: GetStoreLogOperationRequest {
147
+ public override var role: RequestRole { .Admin }
148
+ }
149
+
150
+ public class GetStoreUsedOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.GetStoreUsedRequestData> {
151
+ public override var operationCode: String { OperationCode.GetStoreUsed }
152
+ public override var requestType: RequestType { .StoreInventory }
153
+ public override var role: RequestRole { .Client }
154
+ }
155
+ public class ServerGetStoreUsedOperationRequest: GetStoreUsedOperationRequest {
156
+ public override var role: RequestRole { .Server }
157
+ }
158
+ public class AdminGetStoreUsedOperationRequest: GetStoreUsedOperationRequest {
159
+ public override var role: RequestRole { .Admin }
160
+ }
161
+
162
+ public class RemoveStoreUsedOperationRequest: CustomOperationRequestAbstract<StoreInventoryModels.RemoveStoreUsedRequestData> {
163
+ public override var operationCode: String { OperationCode.RemoveStoreUsed }
164
+ public override var requestType: RequestType { .StoreInventory }
165
+ public override var role: RequestRole { .Client }
166
+ }
167
+ public class ServerRemoveStoreUsedOperationRequest: RemoveStoreUsedOperationRequest {
168
+ public override var role: RequestRole { .Server }
169
+ }
170
+ public class AdminRemoveStoreUsedOperationRequest: RemoveStoreUsedOperationRequest {
171
+ public override var role: RequestRole { .Admin }
172
+ }
173
+ }
@@ -0,0 +1,61 @@
1
+ import Foundation
2
+
3
+ /// StoreInventory Response Models - Operation response classes for StoreInventory API
4
+ public enum StoreInventoryResponseModels {
5
+
6
+ public class BuyStoreItemOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.BuyStoreInventoryResponseData> {
7
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.BuyStoreInventoryResponseData.self }
8
+ }
9
+
10
+ public class GetStoreItemInformationOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.StoreInventoryResponseData> {
11
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.StoreInventoryResponseData.self }
12
+ }
13
+
14
+ public class GetStoreItemsWithTagOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.StoreInventoriesWithStoreIdResponseData> {
15
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.StoreInventoriesWithStoreIdResponseData.self }
16
+ }
17
+
18
+ public class CreateStoreItemOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.CreateStoreItemResponseData> {
19
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.CreateStoreItemResponseData.self }
20
+ }
21
+
22
+ public class SetRemoveStatusOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.EmptyResponseData> {
23
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.EmptyResponseData.self }
24
+ }
25
+
26
+ public class SetStoreItemInformationOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.StoreInventoryResponseData> {
27
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.StoreInventoryResponseData.self }
28
+ }
29
+
30
+ public class ValidateAppleAppStoreReceiptOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.BuyStoreInventoryResponseData> {
31
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.BuyStoreInventoryResponseData.self }
32
+ }
33
+
34
+ public class ValidateFacebookStoreReceiptOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.BuyStoreInventoryResponseData> {
35
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.BuyStoreInventoryResponseData.self }
36
+ }
37
+
38
+ public class ValidateGooglePlayStoreReceiptOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.BuyStoreInventoryResponseData> {
39
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.BuyStoreInventoryResponseData.self }
40
+ }
41
+
42
+ public class GetCreateLeaderboardOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.GetCreateLeaderboardResponseData> {
43
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.GetCreateLeaderboardResponseData.self }
44
+ }
45
+
46
+ public class GetStoreLogOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.GetStoreLogResponseData> {
47
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.GetStoreLogResponseData.self }
48
+ }
49
+
50
+ public class PresentStoreItemOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.PresentStoreInventoryResponseData> {
51
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.PresentStoreInventoryResponseData.self }
52
+ }
53
+
54
+ public class GetStoreUsedOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.GetStoreUsedResponseData> {
55
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.GetStoreUsedResponseData.self }
56
+ }
57
+
58
+ public class RemoveStoreUsedOperationResponse: CustomOperationResponseAbstract<StoreInventoryModels.EmptyResponseData> {
59
+ public override init() { super.init(); responseDataCls = StoreInventoryModels.EmptyResponseData.self }
60
+ }
61
+ }
@@ -0,0 +1,42 @@
1
+ import Foundation
2
+
3
+ open class CustomOperationRequest {
4
+ open var operationCode: String { return "" }
5
+ open var requestType: RequestType { return .Custom }
6
+ open var role: RequestRole { return .Client }
7
+
8
+ public var operationTimeout: Int
9
+
10
+ public init(timeout: Int) {
11
+ self.operationTimeout = timeout
12
+ }
13
+
14
+ public func getRequestType() -> RequestType {
15
+ return self.requestType
16
+ }
17
+
18
+ public func getRole() -> RequestRole {
19
+ return self.role
20
+ }
21
+
22
+ open func build() -> OperationRequest {
23
+ return OperationRequest(operationCode: self.operationCode, timeout: self.operationTimeout)
24
+ }
25
+ }
26
+
27
+ open class CustomOperationRequestAbstract<TRequestData>: CustomOperationRequest {
28
+ public var requestData: TRequestData
29
+
30
+ public init(requestData: TRequestData, timeout: Int) {
31
+ self.requestData = requestData
32
+ super.init(timeout: timeout)
33
+ }
34
+
35
+ open override func build() -> OperationRequest {
36
+ let request = OperationRequest(operationCode: self.operationCode, timeout: self.operationTimeout)
37
+ if let params = ConverterService.serializeObject(self.requestData) {
38
+ request.setParameters(params)
39
+ }
40
+ return request
41
+ }
42
+ }
@@ -0,0 +1,49 @@
1
+ import Foundation
2
+
3
+ open class CustomOperationResponse {
4
+ public var operationCode: String = ""
5
+ public var parameters: GNHashtable?
6
+ public var returnCode: Int = 0
7
+ public var debugMessage: String?
8
+ public var errorCode: Int = 0
9
+ public var invalidMembers: [InvalidMember]?
10
+
11
+ required public init() {}
12
+
13
+ public func hasReturnCodeError() -> Bool {
14
+ return self.returnCode != ReturnCode.Ok
15
+ }
16
+
17
+ open func setupOperationResponse(operationResponse: OperationResponse) {
18
+ self.operationCode = operationResponse.getOperationCode()
19
+ self.returnCode = operationResponse.getReturnCode()
20
+ self.debugMessage = operationResponse.getDebugMessage()
21
+
22
+ self.parameters = operationResponse.getParameters()
23
+ self.invalidMembers = operationResponse.getInvalidMembers()
24
+
25
+ if !self.hasReturnCodeError() {
26
+ if let params = self.parameters {
27
+ self.errorCode = params.getInt(ParameterCode.ErrorCode) ?? 0
28
+ }
29
+ }
30
+ }
31
+
32
+ public var description: String {
33
+ return "ReturnCode: \(self.returnCode) \(self.parameters?.description ?? self.debugMessage ?? "")"
34
+ }
35
+ }
36
+
37
+ open class CustomOperationResponseAbstract<TResponseData: Initiable>: CustomOperationResponse {
38
+ public var responseData: TResponseData?
39
+
40
+ open override func setupOperationResponse(operationResponse: OperationResponse) {
41
+ super.setupOperationResponse(operationResponse: operationResponse)
42
+
43
+ if !self.hasReturnCodeError() {
44
+ if let params = self.parameters {
45
+ self.responseData = ConverterService.deserializeObject(gnHashtable: params, cls: TResponseData.self)
46
+ }
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,43 @@
1
+ import Foundation
2
+
3
+ public class GetAuthInfoResponse: Initiable, Codable {
4
+ public var error: String?
5
+ public var data: AuthInfoResponse?
6
+
7
+ public required init() {}
8
+
9
+ public func parseFromJson(json: [String: Any]) {
10
+ self.error = json["error"] as? String
11
+ if let dataDict = json["data"] as? [String: Any] {
12
+ self.data = AuthInfoResponse()
13
+ self.data?.parseFromJson(json: dataDict)
14
+ }
15
+ }
16
+ }
17
+
18
+ public class AuthInfoResponse: Initiable, Codable {
19
+ public var gnToken: String?
20
+ public var userId: String?
21
+ public var isRemove: Bool = false
22
+ public var tsExpire: Int = 0
23
+ public var otherDatas: GNHashtable?
24
+ public var tsCreate: Int = 0
25
+ public var secretKey: String?
26
+
27
+ public required init() {}
28
+
29
+ public func parseFromJson(json: [String: Any]) {
30
+ self.gnToken = json["gnToken"] as? String
31
+ self.userId = json["userId"] as? String
32
+ self.isRemove = json["isRemove"] as? Bool ?? false
33
+ self.tsExpire = json["tsExpire"] as? Int ?? 0
34
+ self.tsCreate = json["tsCreate"] as? Int ?? 0
35
+ self.secretKey = json["secretKey"] as? String
36
+ if let otherDict = json["otherDatas"] as? [String: Any] {
37
+ self.otherDatas = GNHashtable()
38
+ for (k, v) in otherDict {
39
+ self.otherDatas?.add(k: k, value: v)
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,86 @@
1
+ import Foundation
2
+
3
+ public class HealthCheckResponse: Initiable, Codable {
4
+ public var error: String?
5
+ public var data: HealthCheckDataResponse?
6
+
7
+ public required init() {}
8
+
9
+ public func parseFromJson(json: [String: Any]) {
10
+ self.error = json["error"] as? String
11
+ if let dataDict = json["data"] as? [String: Any] {
12
+ self.data = HealthCheckDataResponse()
13
+ self.data?.parseFromJson(json: dataDict)
14
+ }
15
+ }
16
+ }
17
+
18
+ public class HealthCheckDataResponse: Initiable, Codable {
19
+ public var thisInstance: InstanceResponse?
20
+ public var otherInstances: [OtherInstanceResponse]?
21
+
22
+ public required init() {}
23
+
24
+ public func parseFromJson(json: [String: Any]) {
25
+ if let thisDict = json["thisInstance"] as? [String: Any] {
26
+ self.thisInstance = InstanceResponse()
27
+ self.thisInstance?.parseFromJson(json: thisDict)
28
+ }
29
+ if let othersArray = json["otherInstances"] as? [[String: Any]] {
30
+ self.otherInstances = othersArray.map { dict in
31
+ let instance = OtherInstanceResponse()
32
+ instance.parseFromJson(json: dict)
33
+ return instance
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ public class InstanceResponse: Initiable, Codable {
40
+ public var instanceId: String?
41
+ public var isPrimary: Bool = false
42
+ public var currentInstanceIdPrimary: String?
43
+ public var currentTsPrimary: Int = 0
44
+ public var currentTsPrimaryToDate: String?
45
+ public var tsPrimary: Int = 0
46
+ public var tsPrimaryToDate: String?
47
+
48
+ public required init() {}
49
+
50
+ public func parseFromJson(json: [String: Any]) {
51
+ self.instanceId = json["instanceId"] as? String
52
+ self.isPrimary = json["isPrimary"] as? Bool ?? false
53
+ self.currentInstanceIdPrimary = json["currentInstanceIdPrimary"] as? String
54
+ self.currentTsPrimary = json["currentTsPrimary"] as? Int ?? 0
55
+ self.currentTsPrimaryToDate = json["currentTsPrimaryToDate"] as? String
56
+ self.tsPrimary = json["tsPrimary"] as? Int ?? 0
57
+ self.tsPrimaryToDate = json["tsPrimaryToDate"] as? String
58
+ }
59
+ }
60
+
61
+ public class OtherInstanceResponse: InstanceResponse {
62
+ public var lostPing: Int = 0
63
+
64
+ public required init() { super.init() }
65
+
66
+ public override func parseFromJson(json: [String: Any]) {
67
+ super.parseFromJson(json: json)
68
+ self.lostPing = json["lostPing"] as? Int ?? 0
69
+ }
70
+
71
+ private enum CodingKeys: String, CodingKey {
72
+ case lostPing
73
+ }
74
+
75
+ public required init(from decoder: Decoder) throws {
76
+ let container = try decoder.container(keyedBy: CodingKeys.self)
77
+ self.lostPing = try container.decode(Int.self, forKey: .lostPing)
78
+ try super.init(from: decoder)
79
+ }
80
+
81
+ public override func encode(to encoder: Encoder) throws {
82
+ var container = encoder.container(keyedBy: CodingKeys.self)
83
+ try container.encode(lostPing, forKey: .lostPing)
84
+ try super.encode(to: encoder)
85
+ }
86
+ }
@@ -0,0 +1,15 @@
1
+ import Foundation
2
+
3
+ public class UploadFileResponse: Initiable, Codable {
4
+ public var error: String?
5
+ public var downloadToken: String?
6
+ public var fileId: String?
7
+
8
+ public required init() {}
9
+
10
+ public func parseFromJson(json: [String: Any]) {
11
+ self.error = json["error"] as? String
12
+ self.downloadToken = json["downloadToken"] as? String
13
+ self.fileId = json["fileId"] as? String
14
+ }
15
+ }
@@ -0,0 +1,107 @@
1
+ import Foundation
2
+
3
+ class CodeHelperBase {
4
+ private static let unknownCode = "Unknown"
5
+
6
+ var codeDict: [Int: String]
7
+
8
+ init(codeDict: [Int: String]) {
9
+ self.codeDict = codeDict
10
+ }
11
+
12
+ public func getCodeName(_ code: Int) -> String {
13
+ return self.codeDict[code] ?? (CodeHelperBase.unknownCode + " (\(code))")
14
+ }
15
+ }
16
+
17
+ public class CodeHelper {
18
+ private static var returnCodeHelper: CodeHelperBase?
19
+ private static var requestTypeHelper: CodeHelperBase?
20
+ private static var requestRoleHelper: CodeHelperBase?
21
+
22
+ public static func getReturnCodeName(_ returnCode: Int) -> String {
23
+ return CodeHelper.returnCodeHelper?.getCodeName(returnCode) ?? "Unknown"
24
+ }
25
+
26
+ public static func getRequestTypeName(_ requestType: Int) -> String {
27
+ return CodeHelper.requestTypeHelper?.getCodeName(requestType) ?? "Unknown"
28
+ }
29
+
30
+ public static func getRequestRoleName(_ requestRole: Int) -> String {
31
+ return CodeHelper.requestRoleHelper?.getCodeName(requestRole) ?? "Unknown"
32
+ }
33
+
34
+ public static func initialize() {
35
+ self.setReturnCodeDic()
36
+ self.setRequestTypeDic()
37
+ self.setRequestRoleDic()
38
+ }
39
+
40
+ private static func toLowerCase(_ value: String) -> String {
41
+ guard let first = value.first else { return value }
42
+ return String(first).lowercased() + value.dropFirst()
43
+ }
44
+
45
+ private static func setReturnCodeDic() {
46
+ var dict: [Int: String] = [:]
47
+
48
+ dict[ReturnCode.SecretInvalid] = "SecretInvalid"
49
+ dict[ReturnCode.MaxSizeRequestReject] = "MaxSizeRequestReject"
50
+ dict[ReturnCode.MaxRequestReject] = "MaxRequestReject"
51
+ dict[ReturnCode.MaxCCUReject] = "MaxCCUReject"
52
+ dict[ReturnCode.OperationNotAuthorized] = "OperationNotAuthorized"
53
+ dict[ReturnCode.InvalidRequestParameters] = "InvalidRequestParameters"
54
+ dict[ReturnCode.OperationInvalid] = "OperationInvalid"
55
+ dict[ReturnCode.InternalServerError] = "InternalServerError"
56
+ dict[ReturnCode.OperationNotAllow] = "OperationNotAllow"
57
+ dict[ReturnCode.OperationTimeout] = "OperationTimeout"
58
+ dict[ReturnCode.UnknownError] = "UnknownError"
59
+ dict[ReturnCode.Ok] = "Ok"
60
+
61
+ self.returnCodeHelper = CodeHelperBase(codeDict: dict)
62
+ }
63
+
64
+ private static func setRequestTypeDic() {
65
+ var dict: [Int: String] = [:]
66
+
67
+ // Manual mapping to match Unity's CodeHelper.cs logic (toLowerCase)
68
+ // Or if RequestType is CaseIterable, we can loop.
69
+ // Assuming RequestType is enum int.
70
+
71
+ let allTypes: [RequestType] = [
72
+ .custom, .authenticate, .characterPlayer, .content, .gamePlayer,
73
+ .group, .inventory, .masterPlayer, .storeInventory, .multiplayer,
74
+ .cloudScript, .dashboard
75
+ ]
76
+
77
+ for type in allTypes {
78
+ // String(describing: type) gives case name e.g. "custom", "masterPlayer"
79
+ // Unity SDK explicitly lowercases the first letter of "RequestType.ToString()".
80
+ // Swift case names are usually already camelCase.
81
+ // BUT "RequestType.StoreInventory" in C# -> "StoreInventory" -> "storeInventory"
82
+ // In Swift "case storeInventory". String(describing:) is "storeInventory".
83
+ // So String(describing:) is likely exactly what we want.
84
+ // However, to be extra safe and match C# logic of "TitleCase" -> "camelCase" conversion (if Swift enum was TitleCase),
85
+ // we will stick to Swift conventions where enum cases ARE camelCase.
86
+
87
+ // Wait, standard Swift enums are lowerCamelCase.
88
+ // So `String(describing: type)` should work directly.
89
+
90
+ dict[type.rawValue] = String(describing: type)
91
+ }
92
+
93
+ self.requestTypeHelper = CodeHelperBase(codeDict: dict)
94
+ }
95
+
96
+ private static func setRequestRoleDic() {
97
+ var dict: [Int: String] = [:]
98
+
99
+ let allRoles: [RequestRole] = [.client, .admin, .server]
100
+
101
+ for role in allRoles {
102
+ dict[role.rawValue] = String(describing: role)
103
+ }
104
+
105
+ self.requestRoleHelper = CodeHelperBase(codeDict: dict)
106
+ }
107
+ }
@@ -0,0 +1,98 @@
1
+ import Foundation
2
+
3
+ public class ConverterService {
4
+
5
+ public static func initialize() {
6
+ // Initialization logic if needed
7
+ }
8
+
9
+ public static func serializeObject<T>(object: T?) -> GNHashtable? {
10
+ guard let object = object else { return nil }
11
+
12
+ let properties = GNHashtable()
13
+ let mirror = Mirror(reflecting: object)
14
+
15
+ for child in mirror.children {
16
+ if let value = child.value as? IGNAnyDataMember {
17
+ if let val = value.getValue() {
18
+ properties.put(value.code, val)
19
+ }
20
+ }
21
+ }
22
+
23
+ // Handle superclass properties if needed (Swift Mirror doesn't automatically iterate superclass unless we recursively check mirror.superclassMirror)
24
+ var currentMirror = mirror.superclassMirror
25
+ while let sMirror = currentMirror {
26
+ for child in sMirror.children {
27
+ if let value = child.value as? IGNAnyDataMember {
28
+ if let val = value.getValue() {
29
+ properties.put(value.code, val)
30
+ }
31
+ }
32
+ }
33
+ currentMirror = sMirror.superclassMirror
34
+ }
35
+
36
+ return properties
37
+ }
38
+
39
+ public static func deserializeObject<T: Initiable>(gnHashtable: GNHashtable?, cls: T.Type) -> T? {
40
+ guard let data = gnHashtable else { return nil }
41
+
42
+ // 1. Try Reflection/Wrappers
43
+ let object = T()
44
+ let mirror = Mirror(reflecting: object)
45
+ var hasWrappers = false
46
+
47
+ let checkAndSetWrappers = { (m: Mirror) in
48
+ for child in m.children {
49
+ if let value = child.value as? IGNAnyDataMember {
50
+ hasWrappers = true
51
+ value.setValue(from: data)
52
+ }
53
+ }
54
+ }
55
+
56
+ checkAndSetWrappers(mirror)
57
+ var currentMirror = mirror.superclassMirror
58
+ while let sMirror = currentMirror {
59
+ checkAndSetWrappers(sMirror)
60
+ currentMirror = sMirror.superclassMirror
61
+ }
62
+
63
+ if hasWrappers {
64
+ return object
65
+ }
66
+
67
+ // 2. Try Decodable if no wrappers were found/used
68
+ if let decodableType = T.self as? Decodable.Type {
69
+ do {
70
+ let dict = data.toData()
71
+ let jsonData = try JSONSerialization.data(withJSONObject: dict, options: [])
72
+ if let decoded = try? JSONDecoder().decode(decodableType, from: jsonData) as? T {
73
+ return decoded
74
+ }
75
+ } catch {
76
+ print("ConverterService: Decodable failed for \(T.self): \(error)")
77
+ }
78
+ }
79
+
80
+ // Return potentially empty object if generic init was used via Initiable
81
+ return object
82
+ }
83
+
84
+ public static func deserializeList<T: Initiable>(gnArray: GNArray?, cls: T.Type) -> [T]? {
85
+ guard let list = gnArray else { return nil }
86
+ var res: [T] = []
87
+
88
+ for i in 0..<list.count {
89
+ if let ht = list.getGNHashtable(i) {
90
+ if let obj = deserializeObject(gnHashtable: ht, cls: T.self) {
91
+ res.append(obj)
92
+ }
93
+ }
94
+ }
95
+
96
+ return res
97
+ }
98
+ }