sc2ai 0.4.3 → 0.5.0

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.
@@ -167,7 +167,7 @@ module Api
167
167
 
168
168
  unknown_bytes = +"".b
169
169
  val = tag
170
- while val != 0
170
+ loop do
171
171
  byte = val & 0x7F
172
172
 
173
173
  val >>= 7
@@ -178,6 +178,7 @@ module Api
178
178
 
179
179
  byte |= 0x80 if val != 0
180
180
  unknown_bytes << byte
181
+ break if val == 0
181
182
  end
182
183
 
183
184
  case wire_type
@@ -252,7 +253,7 @@ module Api
252
253
  end
253
254
 
254
255
  val = value
255
- while val != 0
256
+ loop do
256
257
  byte = val & 0x7F
257
258
 
258
259
  val >>= 7
@@ -263,6 +264,7 @@ module Api
263
264
 
264
265
  byte |= 0x80 if val != 0
265
266
  unknown_bytes << byte
267
+ break if val == 0
266
268
  end
267
269
 
268
270
  unknown_bytes << buff.byteslice(index, value)
@@ -1176,10 +1178,64 @@ module Api
1176
1178
 
1177
1179
  def to_h
1178
1180
  result = {}
1179
- send("panel").tap { |f| result[f.to_sym] = send(f) if f }
1180
- result["groups".to_sym] = @groups
1181
+
1182
+ resolved_panel = self.panel
1183
+
1184
+ result[:"groups"] = @groups.map(&:to_h)
1185
+ result[:"single"] = @single.to_h if resolved_panel == :"single"
1186
+ result[:"multi"] = @multi.to_h if resolved_panel == :"multi"
1187
+ result[:"cargo"] = @cargo.to_h if resolved_panel == :"cargo"
1188
+ result[:"production"] = @production.to_h if resolved_panel ==
1189
+ :"production"
1190
+
1181
1191
  result
1182
1192
  end
1193
+
1194
+ def as_json(options = {})
1195
+ result = {}
1196
+
1197
+ resolved_panel = self.panel
1198
+
1199
+ tmp_groups = @groups.map { |v| v.as_json(options) }
1200
+
1201
+ result["groups"] = tmp_groups if !options[:compact] || tmp_groups.any?
1202
+
1203
+ result["single"] = (
1204
+ if @single.nil?
1205
+ {}
1206
+ else
1207
+ @single.as_json(options)
1208
+ end
1209
+ ) if resolved_panel == :"single"
1210
+ result["multi"] = (
1211
+ if @multi.nil?
1212
+ {}
1213
+ else
1214
+ @multi.as_json(options)
1215
+ end
1216
+ ) if resolved_panel == :"multi"
1217
+ result["cargo"] = (
1218
+ if @cargo.nil?
1219
+ {}
1220
+ else
1221
+ @cargo.as_json(options)
1222
+ end
1223
+ ) if resolved_panel == :"cargo"
1224
+ result["production"] = (
1225
+ if @production.nil?
1226
+ {}
1227
+ else
1228
+ @production.as_json(options)
1229
+ end
1230
+ ) if resolved_panel == :"production"
1231
+
1232
+ result
1233
+ end
1234
+
1235
+ def to_json(as_json_options = {})
1236
+ require "json"
1237
+ JSON.dump(as_json(as_json_options))
1238
+ end
1183
1239
  end
1184
1240
  class ControlGroup
1185
1241
  def self.decode(buff)
@@ -1354,7 +1410,7 @@ module Api
1354
1410
 
1355
1411
  unknown_bytes = +"".b
1356
1412
  val = tag
1357
- while val != 0
1413
+ loop do
1358
1414
  byte = val & 0x7F
1359
1415
 
1360
1416
  val >>= 7
@@ -1365,6 +1421,7 @@ module Api
1365
1421
 
1366
1422
  byte |= 0x80 if val != 0
1367
1423
  unknown_bytes << byte
1424
+ break if val == 0
1368
1425
  end
1369
1426
 
1370
1427
  case wire_type
@@ -1439,7 +1496,7 @@ module Api
1439
1496
  end
1440
1497
 
1441
1498
  val = value
1442
- while val != 0
1499
+ loop do
1443
1500
  byte = val & 0x7F
1444
1501
 
1445
1502
  val >>= 7
@@ -1450,6 +1507,7 @@ module Api
1450
1507
 
1451
1508
  byte |= 0x80 if val != 0
1452
1509
  unknown_bytes << byte
1510
+ break if val == 0
1453
1511
  end
1454
1512
 
1455
1513
  unknown_bytes << buff.byteslice(index, value)
@@ -1846,38 +1904,41 @@ module Api
1846
1904
  end
1847
1905
  def _encode(buff)
1848
1906
  val = @control_group_index
1849
- if val != 0
1907
+ if has_control_group_index?
1850
1908
  buff << 0x08
1851
1909
 
1852
- while val != 0
1910
+ loop do
1853
1911
  byte = val & 0x7F
1854
1912
  val >>= 7
1855
1913
  byte |= 0x80 if val > 0
1856
1914
  buff << byte
1915
+ break if val == 0
1857
1916
  end
1858
1917
  end
1859
1918
 
1860
1919
  val = @leader_unit_type
1861
- if val != 0
1920
+ if has_leader_unit_type?
1862
1921
  buff << 0x10
1863
1922
 
1864
- while val != 0
1923
+ loop do
1865
1924
  byte = val & 0x7F
1866
1925
  val >>= 7
1867
1926
  byte |= 0x80 if val > 0
1868
1927
  buff << byte
1928
+ break if val == 0
1869
1929
  end
1870
1930
  end
1871
1931
 
1872
1932
  val = @count
1873
- if val != 0
1933
+ if has_count?
1874
1934
  buff << 0x18
1875
1935
 
1876
- while val != 0
1936
+ loop do
1877
1937
  byte = val & 0x7F
1878
1938
  val >>= 7
1879
1939
  byte |= 0x80 if val > 0
1880
1940
  buff << byte
1941
+ break if val == 0
1881
1942
  end
1882
1943
  end
1883
1944
  buff << @_unknown_fields if @_unknown_fields
@@ -1886,11 +1947,31 @@ module Api
1886
1947
 
1887
1948
  def to_h
1888
1949
  result = {}
1889
- result["control_group_index".to_sym] = @control_group_index
1890
- result["leader_unit_type".to_sym] = @leader_unit_type
1891
- result["count".to_sym] = @count
1950
+
1951
+ result[:"control_group_index"] = @control_group_index
1952
+ result[:"leader_unit_type"] = @leader_unit_type
1953
+ result[:"count"] = @count
1954
+
1892
1955
  result
1893
1956
  end
1957
+
1958
+ def as_json(options = {})
1959
+ result = {}
1960
+
1961
+ result["controlGroupIndex"] = @control_group_index if !options[
1962
+ :compact
1963
+ ] || has_control_group_index?
1964
+ result["leaderUnitType"] = @leader_unit_type if !options[:compact] ||
1965
+ has_leader_unit_type?
1966
+ result["count"] = @count if !options[:compact] || has_count?
1967
+
1968
+ result
1969
+ end
1970
+
1971
+ def to_json(as_json_options = {})
1972
+ require "json"
1973
+ JSON.dump(as_json(as_json_options))
1974
+ end
1894
1975
  end
1895
1976
  class UnitInfo
1896
1977
  def self.decode(buff)
@@ -2284,7 +2365,7 @@ module Api
2284
2365
 
2285
2366
  unknown_bytes = +"".b
2286
2367
  val = tag
2287
- while val != 0
2368
+ loop do
2288
2369
  byte = val & 0x7F
2289
2370
 
2290
2371
  val >>= 7
@@ -2295,6 +2376,7 @@ module Api
2295
2376
 
2296
2377
  byte |= 0x80 if val != 0
2297
2378
  unknown_bytes << byte
2379
+ break if val == 0
2298
2380
  end
2299
2381
 
2300
2382
  case wire_type
@@ -2369,7 +2451,7 @@ module Api
2369
2451
  end
2370
2452
 
2371
2453
  val = value
2372
- while val != 0
2454
+ loop do
2373
2455
  byte = val & 0x7F
2374
2456
 
2375
2457
  val >>= 7
@@ -2380,6 +2462,7 @@ module Api
2380
2462
 
2381
2463
  byte |= 0x80 if val != 0
2382
2464
  unknown_bytes << byte
2465
+ break if val == 0
2383
2466
  end
2384
2467
 
2385
2468
  unknown_bytes << buff.byteslice(index, value)
@@ -3679,34 +3762,36 @@ module Api
3679
3762
  end
3680
3763
  def _encode(buff)
3681
3764
  val = @unit_type
3682
- if val != 0
3765
+ if has_unit_type?
3683
3766
  buff << 0x08
3684
3767
 
3685
- while val != 0
3768
+ loop do
3686
3769
  byte = val & 0x7F
3687
3770
  val >>= 7
3688
3771
  byte |= 0x80 if val > 0
3689
3772
  buff << byte
3773
+ break if val == 0
3690
3774
  end
3691
3775
  end
3692
3776
 
3693
3777
  val = @player_relative
3694
- if val != 0
3778
+ if has_player_relative?
3695
3779
  buff << 0x10
3696
3780
 
3697
- while val != 0
3781
+ loop do
3698
3782
  byte = val & 0x7F
3699
3783
  val >>= 7
3700
3784
  byte |= 0x80 if val > 0
3701
3785
  buff << byte
3786
+ break if val == 0
3702
3787
  end
3703
3788
  end
3704
3789
 
3705
3790
  val = @health
3706
- if val != 0
3791
+ if has_health?
3707
3792
  buff << 0x18
3708
3793
 
3709
- while val != 0
3794
+ loop do
3710
3795
  byte = val & 0x7F
3711
3796
 
3712
3797
  val >>= 7
@@ -3717,14 +3802,15 @@ module Api
3717
3802
 
3718
3803
  byte |= 0x80 if val != 0
3719
3804
  buff << byte
3805
+ break if val == 0
3720
3806
  end
3721
3807
  end
3722
3808
 
3723
3809
  val = @shields
3724
- if val != 0
3810
+ if has_shields?
3725
3811
  buff << 0x20
3726
3812
 
3727
- while val != 0
3813
+ loop do
3728
3814
  byte = val & 0x7F
3729
3815
 
3730
3816
  val >>= 7
@@ -3735,14 +3821,15 @@ module Api
3735
3821
 
3736
3822
  byte |= 0x80 if val != 0
3737
3823
  buff << byte
3824
+ break if val == 0
3738
3825
  end
3739
3826
  end
3740
3827
 
3741
3828
  val = @energy
3742
- if val != 0
3829
+ if has_energy?
3743
3830
  buff << 0x28
3744
3831
 
3745
- while val != 0
3832
+ loop do
3746
3833
  byte = val & 0x7F
3747
3834
 
3748
3835
  val >>= 7
@@ -3753,14 +3840,15 @@ module Api
3753
3840
 
3754
3841
  byte |= 0x80 if val != 0
3755
3842
  buff << byte
3843
+ break if val == 0
3756
3844
  end
3757
3845
  end
3758
3846
 
3759
3847
  val = @transport_slots_taken
3760
- if val != 0
3848
+ if has_transport_slots_taken?
3761
3849
  buff << 0x30
3762
3850
 
3763
- while val != 0
3851
+ loop do
3764
3852
  byte = val & 0x7F
3765
3853
 
3766
3854
  val >>= 7
@@ -3771,11 +3859,12 @@ module Api
3771
3859
 
3772
3860
  byte |= 0x80 if val != 0
3773
3861
  buff << byte
3862
+ break if val == 0
3774
3863
  end
3775
3864
  end
3776
3865
 
3777
3866
  val = @build_progress
3778
- if val != 0
3867
+ if has_build_progress?
3779
3868
  buff << 0x3d
3780
3869
 
3781
3870
  [val].pack("e", buffer: buff)
@@ -3830,10 +3919,10 @@ module Api
3830
3919
  end
3831
3920
 
3832
3921
  val = @max_health
3833
- if val != 0
3922
+ if has_max_health?
3834
3923
  buff << 0x48
3835
3924
 
3836
- while val != 0
3925
+ loop do
3837
3926
  byte = val & 0x7F
3838
3927
 
3839
3928
  val >>= 7
@@ -3844,14 +3933,15 @@ module Api
3844
3933
 
3845
3934
  byte |= 0x80 if val != 0
3846
3935
  buff << byte
3936
+ break if val == 0
3847
3937
  end
3848
3938
  end
3849
3939
 
3850
3940
  val = @max_shields
3851
- if val != 0
3941
+ if has_max_shields?
3852
3942
  buff << 0x50
3853
3943
 
3854
- while val != 0
3944
+ loop do
3855
3945
  byte = val & 0x7F
3856
3946
 
3857
3947
  val >>= 7
@@ -3862,14 +3952,15 @@ module Api
3862
3952
 
3863
3953
  byte |= 0x80 if val != 0
3864
3954
  buff << byte
3955
+ break if val == 0
3865
3956
  end
3866
3957
  end
3867
3958
 
3868
3959
  val = @max_energy
3869
- if val != 0
3960
+ if has_max_energy?
3870
3961
  buff << 0x58
3871
3962
 
3872
- while val != 0
3963
+ loop do
3873
3964
  byte = val & 0x7F
3874
3965
 
3875
3966
  val >>= 7
@@ -3880,6 +3971,7 @@ module Api
3880
3971
 
3881
3972
  byte |= 0x80 if val != 0
3882
3973
  buff << byte
3974
+ break if val == 0
3883
3975
  end
3884
3976
  end
3885
3977
  buff << @_unknown_fields if @_unknown_fields
@@ -3888,19 +3980,55 @@ module Api
3888
3980
 
3889
3981
  def to_h
3890
3982
  result = {}
3891
- result["unit_type".to_sym] = @unit_type
3892
- result["player_relative".to_sym] = @player_relative
3893
- result["health".to_sym] = @health
3894
- result["shields".to_sym] = @shields
3895
- result["energy".to_sym] = @energy
3896
- result["transport_slots_taken".to_sym] = @transport_slots_taken
3897
- result["build_progress".to_sym] = @build_progress
3898
- result["add_on".to_sym] = @add_on.to_h
3899
- result["max_health".to_sym] = @max_health
3900
- result["max_shields".to_sym] = @max_shields
3901
- result["max_energy".to_sym] = @max_energy
3983
+
3984
+ result[:"unit_type"] = @unit_type
3985
+ result[:"player_relative"] = @player_relative
3986
+ result[:"health"] = @health
3987
+ result[:"shields"] = @shields
3988
+ result[:"energy"] = @energy
3989
+ result[:"transport_slots_taken"] = @transport_slots_taken
3990
+ result[:"build_progress"] = @build_progress
3991
+ result[:"add_on"] = @add_on.to_h
3992
+ result[:"max_health"] = @max_health
3993
+ result[:"max_shields"] = @max_shields
3994
+ result[:"max_energy"] = @max_energy
3995
+
3902
3996
  result
3903
3997
  end
3998
+
3999
+ def as_json(options = {})
4000
+ result = {}
4001
+
4002
+ result["unitType"] = @unit_type if !options[:compact] || has_unit_type?
4003
+ result["playerRelative"] = @player_relative if !options[:compact] ||
4004
+ has_player_relative?
4005
+ result["health"] = @health if !options[:compact] || has_health?
4006
+ result["shields"] = @shields if !options[:compact] || has_shields?
4007
+ result["energy"] = @energy if !options[:compact] || has_energy?
4008
+ result["transportSlotsTaken"] = @transport_slots_taken if !options[
4009
+ :compact
4010
+ ] || has_transport_slots_taken?
4011
+ result["buildProgress"] = @build_progress if !options[:compact] ||
4012
+ has_build_progress?
4013
+ result["addOn"] = (
4014
+ if @add_on.nil?
4015
+ {}
4016
+ else
4017
+ @add_on.as_json(options)
4018
+ end
4019
+ ) if !options[:compact] || has_add_on?
4020
+ result["maxHealth"] = @max_health if !options[:compact] || has_max_health?
4021
+ result["maxShields"] = @max_shields if !options[:compact] ||
4022
+ has_max_shields?
4023
+ result["maxEnergy"] = @max_energy if !options[:compact] || has_max_energy?
4024
+
4025
+ result
4026
+ end
4027
+
4028
+ def to_json(as_json_options = {})
4029
+ require "json"
4030
+ JSON.dump(as_json(as_json_options))
4031
+ end
3904
4032
  end
3905
4033
  class SinglePanel
3906
4034
  def self.decode(buff)
@@ -4125,7 +4253,7 @@ module Api
4125
4253
 
4126
4254
  unknown_bytes = +"".b
4127
4255
  val = tag
4128
- while val != 0
4256
+ loop do
4129
4257
  byte = val & 0x7F
4130
4258
 
4131
4259
  val >>= 7
@@ -4136,6 +4264,7 @@ module Api
4136
4264
 
4137
4265
  byte |= 0x80 if val != 0
4138
4266
  unknown_bytes << byte
4267
+ break if val == 0
4139
4268
  end
4140
4269
 
4141
4270
  case wire_type
@@ -4210,7 +4339,7 @@ module Api
4210
4339
  end
4211
4340
 
4212
4341
  val = value
4213
- while val != 0
4342
+ loop do
4214
4343
  byte = val & 0x7F
4215
4344
 
4216
4345
  val >>= 7
@@ -4221,6 +4350,7 @@ module Api
4221
4350
 
4222
4351
  byte |= 0x80 if val != 0
4223
4352
  unknown_bytes << byte
4353
+ break if val == 0
4224
4354
  end
4225
4355
 
4226
4356
  unknown_bytes << buff.byteslice(index, value)
@@ -4947,10 +5077,10 @@ module Api
4947
5077
  end
4948
5078
 
4949
5079
  val = @attack_upgrade_level
4950
- if val != 0
5080
+ if has_attack_upgrade_level?
4951
5081
  buff << 0x10
4952
5082
 
4953
- while val != 0
5083
+ loop do
4954
5084
  byte = val & 0x7F
4955
5085
 
4956
5086
  val >>= 7
@@ -4961,14 +5091,15 @@ module Api
4961
5091
 
4962
5092
  byte |= 0x80 if val != 0
4963
5093
  buff << byte
5094
+ break if val == 0
4964
5095
  end
4965
5096
  end
4966
5097
 
4967
5098
  val = @armor_upgrade_level
4968
- if val != 0
5099
+ if has_armor_upgrade_level?
4969
5100
  buff << 0x18
4970
5101
 
4971
- while val != 0
5102
+ loop do
4972
5103
  byte = val & 0x7F
4973
5104
 
4974
5105
  val >>= 7
@@ -4979,14 +5110,15 @@ module Api
4979
5110
 
4980
5111
  byte |= 0x80 if val != 0
4981
5112
  buff << byte
5113
+ break if val == 0
4982
5114
  end
4983
5115
  end
4984
5116
 
4985
5117
  val = @shield_upgrade_level
4986
- if val != 0
5118
+ if has_shield_upgrade_level?
4987
5119
  buff << 0x20
4988
5120
 
4989
- while val != 0
5121
+ loop do
4990
5122
  byte = val & 0x7F
4991
5123
 
4992
5124
  val >>= 7
@@ -4997,6 +5129,7 @@ module Api
4997
5129
 
4998
5130
  byte |= 0x80 if val != 0
4999
5131
  buff << byte
5132
+ break if val == 0
5000
5133
  end
5001
5134
  end
5002
5135
 
@@ -5007,7 +5140,7 @@ module Api
5007
5140
  if val != 0
5008
5141
  buff << 0x28
5009
5142
 
5010
- while val != 0
5143
+ loop do
5011
5144
  byte = val & 0x7F
5012
5145
 
5013
5146
  val >>= 7
@@ -5018,6 +5151,7 @@ module Api
5018
5151
 
5019
5152
  byte |= 0x80 if val != 0
5020
5153
  buff << byte
5154
+ break if val == 0
5021
5155
  end
5022
5156
  end
5023
5157
  end
@@ -5028,13 +5162,42 @@ module Api
5028
5162
 
5029
5163
  def to_h
5030
5164
  result = {}
5031
- result["unit".to_sym] = @unit.to_h
5032
- result["attack_upgrade_level".to_sym] = @attack_upgrade_level
5033
- result["armor_upgrade_level".to_sym] = @armor_upgrade_level
5034
- result["shield_upgrade_level".to_sym] = @shield_upgrade_level
5035
- result["buffs".to_sym] = @buffs
5165
+
5166
+ result[:"unit"] = @unit.to_h
5167
+ result[:"attack_upgrade_level"] = @attack_upgrade_level
5168
+ result[:"armor_upgrade_level"] = @armor_upgrade_level
5169
+ result[:"shield_upgrade_level"] = @shield_upgrade_level
5170
+ result[:"buffs"] = @buffs
5171
+
5172
+ result
5173
+ end
5174
+
5175
+ def as_json(options = {})
5176
+ result = {}
5177
+
5178
+ result["unit"] = @unit.nil? ? {} : @unit.as_json(options) if !options[
5179
+ :compact
5180
+ ] || has_unit?
5181
+ result["attackUpgradeLevel"] = @attack_upgrade_level if !options[
5182
+ :compact
5183
+ ] || has_attack_upgrade_level?
5184
+ result["armorUpgradeLevel"] = @armor_upgrade_level if !options[
5185
+ :compact
5186
+ ] || has_armor_upgrade_level?
5187
+ result["shieldUpgradeLevel"] = @shield_upgrade_level if !options[
5188
+ :compact
5189
+ ] || has_shield_upgrade_level?
5190
+ tmp_buffs = @buffs
5191
+
5192
+ result["buffs"] = tmp_buffs if !options[:compact] || tmp_buffs.any?
5193
+
5036
5194
  result
5037
5195
  end
5196
+
5197
+ def to_json(as_json_options = {})
5198
+ require "json"
5199
+ JSON.dump(as_json(as_json_options))
5200
+ end
5038
5201
  end
5039
5202
  class MultiPanel
5040
5203
  def self.decode(buff)
@@ -5125,7 +5288,7 @@ module Api
5125
5288
 
5126
5289
  unknown_bytes = +"".b
5127
5290
  val = tag
5128
- while val != 0
5291
+ loop do
5129
5292
  byte = val & 0x7F
5130
5293
 
5131
5294
  val >>= 7
@@ -5136,6 +5299,7 @@ module Api
5136
5299
 
5137
5300
  byte |= 0x80 if val != 0
5138
5301
  unknown_bytes << byte
5302
+ break if val == 0
5139
5303
  end
5140
5304
 
5141
5305
  case wire_type
@@ -5210,7 +5374,7 @@ module Api
5210
5374
  end
5211
5375
 
5212
5376
  val = value
5213
- while val != 0
5377
+ loop do
5214
5378
  byte = val & 0x7F
5215
5379
 
5216
5380
  val >>= 7
@@ -5221,6 +5385,7 @@ module Api
5221
5385
 
5222
5386
  byte |= 0x80 if val != 0
5223
5387
  unknown_bytes << byte
5388
+ break if val == 0
5224
5389
  end
5225
5390
 
5226
5391
  unknown_bytes << buff.byteslice(index, value)
@@ -5486,9 +5651,26 @@ module Api
5486
5651
 
5487
5652
  def to_h
5488
5653
  result = {}
5489
- result["units".to_sym] = @units
5654
+
5655
+ result[:"units"] = @units.map(&:to_h)
5656
+
5490
5657
  result
5491
5658
  end
5659
+
5660
+ def as_json(options = {})
5661
+ result = {}
5662
+
5663
+ tmp_units = @units.map { |v| v.as_json(options) }
5664
+
5665
+ result["units"] = tmp_units if !options[:compact] || tmp_units.any?
5666
+
5667
+ result
5668
+ end
5669
+
5670
+ def to_json(as_json_options = {})
5671
+ require "json"
5672
+ JSON.dump(as_json(as_json_options))
5673
+ end
5492
5674
  end
5493
5675
  class CargoPanel
5494
5676
  def self.decode(buff)
@@ -5636,7 +5818,7 @@ module Api
5636
5818
 
5637
5819
  unknown_bytes = +"".b
5638
5820
  val = tag
5639
- while val != 0
5821
+ loop do
5640
5822
  byte = val & 0x7F
5641
5823
 
5642
5824
  val >>= 7
@@ -5647,6 +5829,7 @@ module Api
5647
5829
 
5648
5830
  byte |= 0x80 if val != 0
5649
5831
  unknown_bytes << byte
5832
+ break if val == 0
5650
5833
  end
5651
5834
 
5652
5835
  case wire_type
@@ -5721,7 +5904,7 @@ module Api
5721
5904
  end
5722
5905
 
5723
5906
  val = value
5724
- while val != 0
5907
+ loop do
5725
5908
  byte = val & 0x7F
5726
5909
 
5727
5910
  val >>= 7
@@ -5732,6 +5915,7 @@ module Api
5732
5915
 
5733
5916
  byte |= 0x80 if val != 0
5734
5917
  unknown_bytes << byte
5918
+ break if val == 0
5735
5919
  end
5736
5920
 
5737
5921
  unknown_bytes << buff.byteslice(index, value)
@@ -6274,10 +6458,10 @@ module Api
6274
6458
  end
6275
6459
 
6276
6460
  val = @slots_available
6277
- if val != 0
6461
+ if has_slots_available?
6278
6462
  buff << 0x18
6279
6463
 
6280
- while val != 0
6464
+ loop do
6281
6465
  byte = val & 0x7F
6282
6466
 
6283
6467
  val >>= 7
@@ -6288,6 +6472,7 @@ module Api
6288
6472
 
6289
6473
  byte |= 0x80 if val != 0
6290
6474
  buff << byte
6475
+ break if val == 0
6291
6476
  end
6292
6477
  end
6293
6478
  buff << @_unknown_fields if @_unknown_fields
@@ -6296,11 +6481,35 @@ module Api
6296
6481
 
6297
6482
  def to_h
6298
6483
  result = {}
6299
- result["unit".to_sym] = @unit.to_h
6300
- result["passengers".to_sym] = @passengers
6301
- result["slots_available".to_sym] = @slots_available
6484
+
6485
+ result[:"unit"] = @unit.to_h
6486
+ result[:"passengers"] = @passengers.map(&:to_h)
6487
+ result[:"slots_available"] = @slots_available
6488
+
6302
6489
  result
6303
6490
  end
6491
+
6492
+ def as_json(options = {})
6493
+ result = {}
6494
+
6495
+ result["unit"] = @unit.nil? ? {} : @unit.as_json(options) if !options[
6496
+ :compact
6497
+ ] || has_unit?
6498
+ tmp_passengers = @passengers.map { |v| v.as_json(options) }
6499
+
6500
+ result["passengers"] = tmp_passengers if !options[:compact] ||
6501
+ tmp_passengers.any?
6502
+
6503
+ result["slotsAvailable"] = @slots_available if !options[:compact] ||
6504
+ has_slots_available?
6505
+
6506
+ result
6507
+ end
6508
+
6509
+ def to_json(as_json_options = {})
6510
+ require "json"
6511
+ JSON.dump(as_json(as_json_options))
6512
+ end
6304
6513
  end
6305
6514
  class BuildItem
6306
6515
  def self.decode(buff)
@@ -6438,7 +6647,7 @@ module Api
6438
6647
 
6439
6648
  unknown_bytes = +"".b
6440
6649
  val = tag
6441
- while val != 0
6650
+ loop do
6442
6651
  byte = val & 0x7F
6443
6652
 
6444
6653
  val >>= 7
@@ -6449,6 +6658,7 @@ module Api
6449
6658
 
6450
6659
  byte |= 0x80 if val != 0
6451
6660
  unknown_bytes << byte
6661
+ break if val == 0
6452
6662
  end
6453
6663
 
6454
6664
  case wire_type
@@ -6523,7 +6733,7 @@ module Api
6523
6733
  end
6524
6734
 
6525
6735
  val = value
6526
- while val != 0
6736
+ loop do
6527
6737
  byte = val & 0x7F
6528
6738
 
6529
6739
  val >>= 7
@@ -6534,6 +6744,7 @@ module Api
6534
6744
 
6535
6745
  byte |= 0x80 if val != 0
6536
6746
  unknown_bytes << byte
6747
+ break if val == 0
6537
6748
  end
6538
6749
 
6539
6750
  unknown_bytes << buff.byteslice(index, value)
@@ -6772,19 +6983,20 @@ module Api
6772
6983
  end
6773
6984
  def _encode(buff)
6774
6985
  val = @ability_id
6775
- if val != 0
6986
+ if has_ability_id?
6776
6987
  buff << 0x08
6777
6988
 
6778
- while val != 0
6989
+ loop do
6779
6990
  byte = val & 0x7F
6780
6991
  val >>= 7
6781
6992
  byte |= 0x80 if val > 0
6782
6993
  buff << byte
6994
+ break if val == 0
6783
6995
  end
6784
6996
  end
6785
6997
 
6786
6998
  val = @build_progress
6787
- if val != 0
6999
+ if has_build_progress?
6788
7000
  buff << 0x15
6789
7001
 
6790
7002
  [val].pack("e", buffer: buff)
@@ -6795,10 +7007,27 @@ module Api
6795
7007
 
6796
7008
  def to_h
6797
7009
  result = {}
6798
- result["ability_id".to_sym] = @ability_id
6799
- result["build_progress".to_sym] = @build_progress
7010
+
7011
+ result[:"ability_id"] = @ability_id
7012
+ result[:"build_progress"] = @build_progress
7013
+
6800
7014
  result
6801
7015
  end
7016
+
7017
+ def as_json(options = {})
7018
+ result = {}
7019
+
7020
+ result["abilityId"] = @ability_id if !options[:compact] || has_ability_id?
7021
+ result["buildProgress"] = @build_progress if !options[:compact] ||
7022
+ has_build_progress?
7023
+
7024
+ result
7025
+ end
7026
+
7027
+ def to_json(as_json_options = {})
7028
+ require "json"
7029
+ JSON.dump(as_json(as_json_options))
7030
+ end
6802
7031
  end
6803
7032
  class ProductionPanel
6804
7033
  def self.decode(buff)
@@ -6926,7 +7155,7 @@ module Api
6926
7155
 
6927
7156
  unknown_bytes = +"".b
6928
7157
  val = tag
6929
- while val != 0
7158
+ loop do
6930
7159
  byte = val & 0x7F
6931
7160
 
6932
7161
  val >>= 7
@@ -6937,6 +7166,7 @@ module Api
6937
7166
 
6938
7167
  byte |= 0x80 if val != 0
6939
7168
  unknown_bytes << byte
7169
+ break if val == 0
6940
7170
  end
6941
7171
 
6942
7172
  case wire_type
@@ -7011,7 +7241,7 @@ module Api
7011
7241
  end
7012
7242
 
7013
7243
  val = value
7014
- while val != 0
7244
+ loop do
7015
7245
  byte = val & 0x7F
7016
7246
 
7017
7247
  val >>= 7
@@ -7022,6 +7252,7 @@ module Api
7022
7252
 
7023
7253
  byte |= 0x80 if val != 0
7024
7254
  unknown_bytes << byte
7255
+ break if val == 0
7025
7256
  end
7026
7257
 
7027
7258
  unknown_bytes << buff.byteslice(index, value)
@@ -7637,11 +7868,37 @@ module Api
7637
7868
 
7638
7869
  def to_h
7639
7870
  result = {}
7640
- result["unit".to_sym] = @unit.to_h
7641
- result["build_queue".to_sym] = @build_queue
7642
- result["production_queue".to_sym] = @production_queue
7871
+
7872
+ result[:"unit"] = @unit.to_h
7873
+ result[:"build_queue"] = @build_queue.map(&:to_h)
7874
+ result[:"production_queue"] = @production_queue.map(&:to_h)
7875
+
7876
+ result
7877
+ end
7878
+
7879
+ def as_json(options = {})
7880
+ result = {}
7881
+
7882
+ result["unit"] = @unit.nil? ? {} : @unit.as_json(options) if !options[
7883
+ :compact
7884
+ ] || has_unit?
7885
+ tmp_build_queue = @build_queue.map { |v| v.as_json(options) }
7886
+
7887
+ result["buildQueue"] = tmp_build_queue if !options[:compact] ||
7888
+ tmp_build_queue.any?
7889
+
7890
+ tmp_production_queue = @production_queue.map { |v| v.as_json(options) }
7891
+
7892
+ result["productionQueue"] = tmp_production_queue if !options[:compact] ||
7893
+ tmp_production_queue.any?
7894
+
7643
7895
  result
7644
7896
  end
7897
+
7898
+ def to_json(as_json_options = {})
7899
+ require "json"
7900
+ JSON.dump(as_json(as_json_options))
7901
+ end
7645
7902
  end
7646
7903
  class ActionUI
7647
7904
  def self.decode(buff)
@@ -7876,7 +8133,7 @@ module Api
7876
8133
 
7877
8134
  unknown_bytes = +"".b
7878
8135
  val = tag
7879
- while val != 0
8136
+ loop do
7880
8137
  byte = val & 0x7F
7881
8138
 
7882
8139
  val >>= 7
@@ -7887,6 +8144,7 @@ module Api
7887
8144
 
7888
8145
  byte |= 0x80 if val != 0
7889
8146
  unknown_bytes << byte
8147
+ break if val == 0
7890
8148
  end
7891
8149
 
7892
8150
  case wire_type
@@ -7961,7 +8219,7 @@ module Api
7961
8219
  end
7962
8220
 
7963
8221
  val = value
7964
- while val != 0
8222
+ loop do
7965
8223
  byte = val & 0x7F
7966
8224
 
7967
8225
  val >>= 7
@@ -7972,6 +8230,7 @@ module Api
7972
8230
 
7973
8231
  byte |= 0x80 if val != 0
7974
8232
  unknown_bytes << byte
8233
+ break if val == 0
7975
8234
  end
7976
8235
 
7977
8236
  unknown_bytes << buff.byteslice(index, value)
@@ -9533,9 +9792,109 @@ module Api
9533
9792
 
9534
9793
  def to_h
9535
9794
  result = {}
9536
- send("action").tap { |f| result[f.to_sym] = send(f) if f }
9795
+
9796
+ resolved_action = self.action
9797
+
9798
+ result[:"control_group"] = @control_group.to_h if resolved_action ==
9799
+ :"control_group"
9800
+ result[:"select_army"] = @select_army.to_h if resolved_action ==
9801
+ :"select_army"
9802
+ result[
9803
+ :"select_warp_gates"
9804
+ ] = @select_warp_gates.to_h if resolved_action == :"select_warp_gates"
9805
+ result[:"select_larva"] = @select_larva.to_h if resolved_action ==
9806
+ :"select_larva"
9807
+ result[
9808
+ :"select_idle_worker"
9809
+ ] = @select_idle_worker.to_h if resolved_action == :"select_idle_worker"
9810
+ result[:"multi_panel"] = @multi_panel.to_h if resolved_action ==
9811
+ :"multi_panel"
9812
+ result[:"cargo_panel"] = @cargo_panel.to_h if resolved_action ==
9813
+ :"cargo_panel"
9814
+ result[:"production_panel"] = @production_panel.to_h if resolved_action ==
9815
+ :"production_panel"
9816
+ result[:"toggle_autocast"] = @toggle_autocast.to_h if resolved_action ==
9817
+ :"toggle_autocast"
9818
+
9819
+ result
9820
+ end
9821
+
9822
+ def as_json(options = {})
9823
+ result = {}
9824
+
9825
+ resolved_action = self.action
9826
+
9827
+ result["controlGroup"] = (
9828
+ if @control_group.nil?
9829
+ {}
9830
+ else
9831
+ @control_group.as_json(options)
9832
+ end
9833
+ ) if resolved_action == :"control_group"
9834
+ result["selectArmy"] = (
9835
+ if @select_army.nil?
9836
+ {}
9837
+ else
9838
+ @select_army.as_json(options)
9839
+ end
9840
+ ) if resolved_action == :"select_army"
9841
+ result["selectWarpGates"] = (
9842
+ if @select_warp_gates.nil?
9843
+ {}
9844
+ else
9845
+ @select_warp_gates.as_json(options)
9846
+ end
9847
+ ) if resolved_action == :"select_warp_gates"
9848
+ result["selectLarva"] = (
9849
+ if @select_larva.nil?
9850
+ {}
9851
+ else
9852
+ @select_larva.as_json(options)
9853
+ end
9854
+ ) if resolved_action == :"select_larva"
9855
+ result["selectIdleWorker"] = (
9856
+ if @select_idle_worker.nil?
9857
+ {}
9858
+ else
9859
+ @select_idle_worker.as_json(options)
9860
+ end
9861
+ ) if resolved_action == :"select_idle_worker"
9862
+ result["multiPanel"] = (
9863
+ if @multi_panel.nil?
9864
+ {}
9865
+ else
9866
+ @multi_panel.as_json(options)
9867
+ end
9868
+ ) if resolved_action == :"multi_panel"
9869
+ result["cargoPanel"] = (
9870
+ if @cargo_panel.nil?
9871
+ {}
9872
+ else
9873
+ @cargo_panel.as_json(options)
9874
+ end
9875
+ ) if resolved_action == :"cargo_panel"
9876
+ result["productionPanel"] = (
9877
+ if @production_panel.nil?
9878
+ {}
9879
+ else
9880
+ @production_panel.as_json(options)
9881
+ end
9882
+ ) if resolved_action == :"production_panel"
9883
+ result["toggleAutocast"] = (
9884
+ if @toggle_autocast.nil?
9885
+ {}
9886
+ else
9887
+ @toggle_autocast.as_json(options)
9888
+ end
9889
+ ) if resolved_action == :"toggle_autocast"
9890
+
9537
9891
  result
9538
9892
  end
9893
+
9894
+ def to_json(as_json_options = {})
9895
+ require "json"
9896
+ JSON.dump(as_json(as_json_options))
9897
+ end
9539
9898
  end
9540
9899
  class ActionControlGroup
9541
9900
  def self.decode(buff)
@@ -9554,35 +9913,21 @@ module Api
9554
9913
  APPEND_AND_STEAL = 5
9555
9914
 
9556
9915
  def self.lookup(val)
9557
- if val == 0
9558
- :ENUM_CONTROL_GROUP_ACTION_UNSET
9559
- elsif val == 1
9560
- :RECALL
9561
- elsif val == 2
9562
- :SET
9563
- elsif val == 3
9564
- :APPEND
9565
- elsif val == 4
9566
- :SET_AND_STEAL
9567
- elsif val == 5
9568
- :APPEND_AND_STEAL
9569
- end
9916
+ return :ENUM_CONTROL_GROUP_ACTION_UNSET if val == 0
9917
+ return :RECALL if val == 1
9918
+ return :SET if val == 2
9919
+ return :APPEND if val == 3
9920
+ return :SET_AND_STEAL if val == 4
9921
+ return :APPEND_AND_STEAL if val == 5
9570
9922
  end
9571
9923
 
9572
9924
  def self.resolve(val)
9573
- if val == :ENUM_CONTROL_GROUP_ACTION_UNSET
9574
- 0
9575
- elsif val == :RECALL
9576
- 1
9577
- elsif val == :SET
9578
- 2
9579
- elsif val == :APPEND
9580
- 3
9581
- elsif val == :SET_AND_STEAL
9582
- 4
9583
- elsif val == :APPEND_AND_STEAL
9584
- 5
9585
- end
9925
+ return 0 if val == :ENUM_CONTROL_GROUP_ACTION_UNSET
9926
+ return 1 if val == :RECALL
9927
+ return 2 if val == :SET
9928
+ return 3 if val == :APPEND
9929
+ return 4 if val == :SET_AND_STEAL
9930
+ return 5 if val == :APPEND_AND_STEAL
9586
9931
  end
9587
9932
  end
9588
9933
  # required field readers
@@ -9598,6 +9943,7 @@ module Api
9598
9943
  # enum writers
9599
9944
  def action=(v)
9600
9945
  @action = Api::ActionControlGroup::ControlGroupAction.resolve(v) || v
9946
+ @_bitmask |= 0x0000000000000001
9601
9947
  end
9602
9948
 
9603
9949
  # BEGIN writers for optional fields
@@ -9640,6 +9986,10 @@ module Api
9640
9986
  self.class.encode(self)
9641
9987
  end
9642
9988
 
9989
+ def has_action?
9990
+ (@_bitmask & 0x0000000000000001) == 0x0000000000000001
9991
+ end
9992
+
9643
9993
  def has_control_group_index?
9644
9994
  (@_bitmask & 0x0000000000000002) == 0x0000000000000002
9645
9995
  end
@@ -9712,7 +10062,7 @@ module Api
9712
10062
 
9713
10063
  unknown_bytes = +"".b
9714
10064
  val = tag
9715
- while val != 0
10065
+ loop do
9716
10066
  byte = val & 0x7F
9717
10067
 
9718
10068
  val >>= 7
@@ -9723,6 +10073,7 @@ module Api
9723
10073
 
9724
10074
  byte |= 0x80 if val != 0
9725
10075
  unknown_bytes << byte
10076
+ break if val == 0
9726
10077
  end
9727
10078
 
9728
10079
  case wire_type
@@ -9797,7 +10148,7 @@ module Api
9797
10148
  end
9798
10149
 
9799
10150
  val = value
9800
- while val != 0
10151
+ loop do
9801
10152
  byte = val & 0x7F
9802
10153
 
9803
10154
  val >>= 7
@@ -9808,6 +10159,7 @@ module Api
9808
10159
 
9809
10160
  byte |= 0x80 if val != 0
9810
10161
  unknown_bytes << byte
10162
+ break if val == 0
9811
10163
  end
9812
10164
 
9813
10165
  unknown_bytes << buff.byteslice(index, value)
@@ -10108,10 +10460,10 @@ module Api
10108
10460
  end
10109
10461
  def _encode(buff)
10110
10462
  val = @action
10111
- if val != 0
10463
+ if has_action?
10112
10464
  buff << 0x08
10113
10465
 
10114
- while val != 0
10466
+ loop do
10115
10467
  byte = val & 0x7F
10116
10468
 
10117
10469
  val >>= 7
@@ -10122,18 +10474,20 @@ module Api
10122
10474
 
10123
10475
  byte |= 0x80 if val != 0
10124
10476
  buff << byte
10477
+ break if val == 0
10125
10478
  end
10126
10479
  end
10127
10480
 
10128
10481
  val = @control_group_index
10129
- if val != 0
10482
+ if has_control_group_index?
10130
10483
  buff << 0x10
10131
10484
 
10132
- while val != 0
10485
+ loop do
10133
10486
  byte = val & 0x7F
10134
10487
  val >>= 7
10135
10488
  byte |= 0x80 if val > 0
10136
10489
  buff << byte
10490
+ break if val == 0
10137
10491
  end
10138
10492
  end
10139
10493
  buff << @_unknown_fields if @_unknown_fields
@@ -10142,10 +10496,28 @@ module Api
10142
10496
 
10143
10497
  def to_h
10144
10498
  result = {}
10145
- result["action".to_sym] = @action
10146
- result["control_group_index".to_sym] = @control_group_index
10499
+
10500
+ result[:"action"] = @action
10501
+ result[:"control_group_index"] = @control_group_index
10502
+
10147
10503
  result
10148
10504
  end
10505
+
10506
+ def as_json(options = {})
10507
+ result = {}
10508
+
10509
+ result["action"] = @action if !options[:compact] || has_action?
10510
+ result["controlGroupIndex"] = @control_group_index if !options[
10511
+ :compact
10512
+ ] || has_control_group_index?
10513
+
10514
+ result
10515
+ end
10516
+
10517
+ def to_json(as_json_options = {})
10518
+ require "json"
10519
+ JSON.dump(as_json(as_json_options))
10520
+ end
10149
10521
  end
10150
10522
  class ActionSelectArmy
10151
10523
  def self.decode(buff)
@@ -10255,7 +10627,7 @@ module Api
10255
10627
 
10256
10628
  unknown_bytes = +"".b
10257
10629
  val = tag
10258
- while val != 0
10630
+ loop do
10259
10631
  byte = val & 0x7F
10260
10632
 
10261
10633
  val >>= 7
@@ -10266,6 +10638,7 @@ module Api
10266
10638
 
10267
10639
  byte |= 0x80 if val != 0
10268
10640
  unknown_bytes << byte
10641
+ break if val == 0
10269
10642
  end
10270
10643
 
10271
10644
  case wire_type
@@ -10340,7 +10713,7 @@ module Api
10340
10713
  end
10341
10714
 
10342
10715
  val = value
10343
- while val != 0
10716
+ loop do
10344
10717
  byte = val & 0x7F
10345
10718
 
10346
10719
  val >>= 7
@@ -10351,6 +10724,7 @@ module Api
10351
10724
 
10352
10725
  byte |= 0x80 if val != 0
10353
10726
  unknown_bytes << byte
10727
+ break if val == 0
10354
10728
  end
10355
10729
 
10356
10730
  unknown_bytes << buff.byteslice(index, value)
@@ -10483,15 +10857,15 @@ module Api
10483
10857
  end
10484
10858
  end
10485
10859
  def _encode(buff)
10486
- val = @selection_add
10487
- if val == true
10860
+ if has_selection_add?
10861
+ val = @selection_add
10488
10862
  buff << 0x08
10489
10863
 
10490
- buff << 1
10491
- elsif val == false
10492
- # Default value, encode nothing
10493
- else
10494
- raise "bool values should be true or false"
10864
+ if val == true
10865
+ buff << 1
10866
+ elsif val == false
10867
+ buff << 0
10868
+ end
10495
10869
  end
10496
10870
  buff << @_unknown_fields if @_unknown_fields
10497
10871
  buff
@@ -10499,9 +10873,25 @@ module Api
10499
10873
 
10500
10874
  def to_h
10501
10875
  result = {}
10502
- result["selection_add".to_sym] = @selection_add
10876
+
10877
+ result[:"selection_add"] = @selection_add
10878
+
10503
10879
  result
10504
10880
  end
10881
+
10882
+ def as_json(options = {})
10883
+ result = {}
10884
+
10885
+ result["selectionAdd"] = @selection_add if !options[:compact] ||
10886
+ has_selection_add?
10887
+
10888
+ result
10889
+ end
10890
+
10891
+ def to_json(as_json_options = {})
10892
+ require "json"
10893
+ JSON.dump(as_json(as_json_options))
10894
+ end
10505
10895
  end
10506
10896
  class ActionSelectWarpGates
10507
10897
  def self.decode(buff)
@@ -10611,7 +11001,7 @@ module Api
10611
11001
 
10612
11002
  unknown_bytes = +"".b
10613
11003
  val = tag
10614
- while val != 0
11004
+ loop do
10615
11005
  byte = val & 0x7F
10616
11006
 
10617
11007
  val >>= 7
@@ -10622,6 +11012,7 @@ module Api
10622
11012
 
10623
11013
  byte |= 0x80 if val != 0
10624
11014
  unknown_bytes << byte
11015
+ break if val == 0
10625
11016
  end
10626
11017
 
10627
11018
  case wire_type
@@ -10696,7 +11087,7 @@ module Api
10696
11087
  end
10697
11088
 
10698
11089
  val = value
10699
- while val != 0
11090
+ loop do
10700
11091
  byte = val & 0x7F
10701
11092
 
10702
11093
  val >>= 7
@@ -10707,6 +11098,7 @@ module Api
10707
11098
 
10708
11099
  byte |= 0x80 if val != 0
10709
11100
  unknown_bytes << byte
11101
+ break if val == 0
10710
11102
  end
10711
11103
 
10712
11104
  unknown_bytes << buff.byteslice(index, value)
@@ -10839,15 +11231,15 @@ module Api
10839
11231
  end
10840
11232
  end
10841
11233
  def _encode(buff)
10842
- val = @selection_add
10843
- if val == true
11234
+ if has_selection_add?
11235
+ val = @selection_add
10844
11236
  buff << 0x08
10845
11237
 
10846
- buff << 1
10847
- elsif val == false
10848
- # Default value, encode nothing
10849
- else
10850
- raise "bool values should be true or false"
11238
+ if val == true
11239
+ buff << 1
11240
+ elsif val == false
11241
+ buff << 0
11242
+ end
10851
11243
  end
10852
11244
  buff << @_unknown_fields if @_unknown_fields
10853
11245
  buff
@@ -10855,9 +11247,25 @@ module Api
10855
11247
 
10856
11248
  def to_h
10857
11249
  result = {}
10858
- result["selection_add".to_sym] = @selection_add
11250
+
11251
+ result[:"selection_add"] = @selection_add
11252
+
11253
+ result
11254
+ end
11255
+
11256
+ def as_json(options = {})
11257
+ result = {}
11258
+
11259
+ result["selectionAdd"] = @selection_add if !options[:compact] ||
11260
+ has_selection_add?
11261
+
10859
11262
  result
10860
11263
  end
11264
+
11265
+ def to_json(as_json_options = {})
11266
+ require "json"
11267
+ JSON.dump(as_json(as_json_options))
11268
+ end
10861
11269
  end
10862
11270
  class ActionSelectLarva
10863
11271
  def self.decode(buff)
@@ -10888,7 +11296,7 @@ module Api
10888
11296
 
10889
11297
  unknown_bytes = +"".b
10890
11298
  val = tag
10891
- while val != 0
11299
+ loop do
10892
11300
  byte = val & 0x7F
10893
11301
 
10894
11302
  val >>= 7
@@ -10899,6 +11307,7 @@ module Api
10899
11307
 
10900
11308
  byte |= 0x80 if val != 0
10901
11309
  unknown_bytes << byte
11310
+ break if val == 0
10902
11311
  end
10903
11312
 
10904
11313
  case wire_type
@@ -10973,7 +11382,7 @@ module Api
10973
11382
  end
10974
11383
 
10975
11384
  val = value
10976
- while val != 0
11385
+ loop do
10977
11386
  byte = val & 0x7F
10978
11387
 
10979
11388
  val >>= 7
@@ -10984,6 +11393,7 @@ module Api
10984
11393
 
10985
11394
  byte |= 0x80 if val != 0
10986
11395
  unknown_bytes << byte
11396
+ break if val == 0
10987
11397
  end
10988
11398
 
10989
11399
  unknown_bytes << buff.byteslice(index, value)
@@ -11063,6 +11473,17 @@ module Api
11063
11473
 
11064
11474
  result
11065
11475
  end
11476
+
11477
+ def as_json(options = {})
11478
+ result = {}
11479
+
11480
+ result
11481
+ end
11482
+
11483
+ def to_json(as_json_options = {})
11484
+ require "json"
11485
+ JSON.dump(as_json(as_json_options))
11486
+ end
11066
11487
  end
11067
11488
  class ActionSelectIdleWorker
11068
11489
  def self.decode(buff)
@@ -11080,31 +11501,19 @@ module Api
11080
11501
  ADD_ALL = 4
11081
11502
 
11082
11503
  def self.lookup(val)
11083
- if val == 0
11084
- :ENUM_ACTION_SELECT_IDLE_WORKER_TYPE_UNSET
11085
- elsif val == 1
11086
- :SET
11087
- elsif val == 2
11088
- :ADD
11089
- elsif val == 3
11090
- :ALL
11091
- elsif val == 4
11092
- :ADD_ALL
11093
- end
11504
+ return :ENUM_ACTION_SELECT_IDLE_WORKER_TYPE_UNSET if val == 0
11505
+ return :SET if val == 1
11506
+ return :ADD if val == 2
11507
+ return :ALL if val == 3
11508
+ return :ADD_ALL if val == 4
11094
11509
  end
11095
11510
 
11096
11511
  def self.resolve(val)
11097
- if val == :ENUM_ACTION_SELECT_IDLE_WORKER_TYPE_UNSET
11098
- 0
11099
- elsif val == :SET
11100
- 1
11101
- elsif val == :ADD
11102
- 2
11103
- elsif val == :ALL
11104
- 3
11105
- elsif val == :ADD_ALL
11106
- 4
11107
- end
11512
+ return 0 if val == :ENUM_ACTION_SELECT_IDLE_WORKER_TYPE_UNSET
11513
+ return 1 if val == :SET
11514
+ return 2 if val == :ADD
11515
+ return 3 if val == :ALL
11516
+ return 4 if val == :ADD_ALL
11108
11517
  end
11109
11518
  end
11110
11519
  # required field readers
@@ -11116,9 +11525,12 @@ module Api
11116
11525
  # enum writers
11117
11526
  def type=(v)
11118
11527
  @type = Api::ActionSelectIdleWorker::Type.resolve(v) || v
11528
+ @_bitmask |= 0x0000000000000001
11119
11529
  end
11120
11530
 
11121
11531
  def initialize(type: nil)
11532
+ @_bitmask = 0
11533
+
11122
11534
  if type == nil
11123
11535
  @type = 0
11124
11536
  else
@@ -11131,7 +11543,13 @@ module Api
11131
11543
  self.class.encode(self)
11132
11544
  end
11133
11545
 
11546
+ def has_type?
11547
+ (@_bitmask & 0x0000000000000001) == 0x0000000000000001
11548
+ end
11549
+
11134
11550
  def decode_from(buff, index, len)
11551
+ @_bitmask = 0
11552
+
11135
11553
  @type = 0
11136
11554
 
11137
11555
  return self if index >= len
@@ -11196,7 +11614,7 @@ module Api
11196
11614
 
11197
11615
  unknown_bytes = +"".b
11198
11616
  val = tag
11199
- while val != 0
11617
+ loop do
11200
11618
  byte = val & 0x7F
11201
11619
 
11202
11620
  val >>= 7
@@ -11207,6 +11625,7 @@ module Api
11207
11625
 
11208
11626
  byte |= 0x80 if val != 0
11209
11627
  unknown_bytes << byte
11628
+ break if val == 0
11210
11629
  end
11211
11630
 
11212
11631
  case wire_type
@@ -11281,7 +11700,7 @@ module Api
11281
11700
  end
11282
11701
 
11283
11702
  val = value
11284
- while val != 0
11703
+ loop do
11285
11704
  byte = val & 0x7F
11286
11705
 
11287
11706
  val >>= 7
@@ -11292,6 +11711,7 @@ module Api
11292
11711
 
11293
11712
  byte |= 0x80 if val != 0
11294
11713
  unknown_bytes << byte
11714
+ break if val == 0
11295
11715
  end
11296
11716
 
11297
11717
  unknown_bytes << buff.byteslice(index, value)
@@ -11484,10 +11904,10 @@ module Api
11484
11904
  end
11485
11905
  def _encode(buff)
11486
11906
  val = @type
11487
- if val != 0
11907
+ if has_type?
11488
11908
  buff << 0x08
11489
11909
 
11490
- while val != 0
11910
+ loop do
11491
11911
  byte = val & 0x7F
11492
11912
 
11493
11913
  val >>= 7
@@ -11498,6 +11918,7 @@ module Api
11498
11918
 
11499
11919
  byte |= 0x80 if val != 0
11500
11920
  buff << byte
11921
+ break if val == 0
11501
11922
  end
11502
11923
  end
11503
11924
  buff << @_unknown_fields if @_unknown_fields
@@ -11506,9 +11927,24 @@ module Api
11506
11927
 
11507
11928
  def to_h
11508
11929
  result = {}
11509
- result["type".to_sym] = @type
11930
+
11931
+ result[:"type"] = @type
11932
+
11510
11933
  result
11511
11934
  end
11935
+
11936
+ def as_json(options = {})
11937
+ result = {}
11938
+
11939
+ result["type"] = @type if !options[:compact] || has_type?
11940
+
11941
+ result
11942
+ end
11943
+
11944
+ def to_json(as_json_options = {})
11945
+ require "json"
11946
+ JSON.dump(as_json(as_json_options))
11947
+ end
11512
11948
  end
11513
11949
  class ActionMultiPanel
11514
11950
  def self.decode(buff)
@@ -11526,31 +11962,19 @@ module Api
11526
11962
  DESELECT_ALL_OF_TYPE = 4
11527
11963
 
11528
11964
  def self.lookup(val)
11529
- if val == 0
11530
- :ENUM_ACTION_MULTI_PANEL_TYPE_UNSET
11531
- elsif val == 1
11532
- :SINGLE_SELECT
11533
- elsif val == 2
11534
- :DESELECT_UNIT
11535
- elsif val == 3
11536
- :SELECT_ALL_OF_TYPE
11537
- elsif val == 4
11538
- :DESELECT_ALL_OF_TYPE
11539
- end
11965
+ return :ENUM_ACTION_MULTI_PANEL_TYPE_UNSET if val == 0
11966
+ return :SINGLE_SELECT if val == 1
11967
+ return :DESELECT_UNIT if val == 2
11968
+ return :SELECT_ALL_OF_TYPE if val == 3
11969
+ return :DESELECT_ALL_OF_TYPE if val == 4
11540
11970
  end
11541
11971
 
11542
11972
  def self.resolve(val)
11543
- if val == :ENUM_ACTION_MULTI_PANEL_TYPE_UNSET
11544
- 0
11545
- elsif val == :SINGLE_SELECT
11546
- 1
11547
- elsif val == :DESELECT_UNIT
11548
- 2
11549
- elsif val == :SELECT_ALL_OF_TYPE
11550
- 3
11551
- elsif val == :DESELECT_ALL_OF_TYPE
11552
- 4
11553
- end
11973
+ return 0 if val == :ENUM_ACTION_MULTI_PANEL_TYPE_UNSET
11974
+ return 1 if val == :SINGLE_SELECT
11975
+ return 2 if val == :DESELECT_UNIT
11976
+ return 3 if val == :SELECT_ALL_OF_TYPE
11977
+ return 4 if val == :DESELECT_ALL_OF_TYPE
11554
11978
  end
11555
11979
  end
11556
11980
  # required field readers
@@ -11566,6 +11990,7 @@ module Api
11566
11990
  # enum writers
11567
11991
  def type=(v)
11568
11992
  @type = Api::ActionMultiPanel::Type.resolve(v) || v
11993
+ @_bitmask |= 0x0000000000000001
11569
11994
  end
11570
11995
 
11571
11996
  # BEGIN writers for optional fields
@@ -11607,6 +12032,10 @@ module Api
11607
12032
  self.class.encode(self)
11608
12033
  end
11609
12034
 
12035
+ def has_type?
12036
+ (@_bitmask & 0x0000000000000001) == 0x0000000000000001
12037
+ end
12038
+
11610
12039
  def has_unit_index?
11611
12040
  (@_bitmask & 0x0000000000000002) == 0x0000000000000002
11612
12041
  end
@@ -11679,7 +12108,7 @@ module Api
11679
12108
 
11680
12109
  unknown_bytes = +"".b
11681
12110
  val = tag
11682
- while val != 0
12111
+ loop do
11683
12112
  byte = val & 0x7F
11684
12113
 
11685
12114
  val >>= 7
@@ -11690,6 +12119,7 @@ module Api
11690
12119
 
11691
12120
  byte |= 0x80 if val != 0
11692
12121
  unknown_bytes << byte
12122
+ break if val == 0
11693
12123
  end
11694
12124
 
11695
12125
  case wire_type
@@ -11764,7 +12194,7 @@ module Api
11764
12194
  end
11765
12195
 
11766
12196
  val = value
11767
- while val != 0
12197
+ loop do
11768
12198
  byte = val & 0x7F
11769
12199
 
11770
12200
  val >>= 7
@@ -11775,6 +12205,7 @@ module Api
11775
12205
 
11776
12206
  byte |= 0x80 if val != 0
11777
12207
  unknown_bytes << byte
12208
+ break if val == 0
11778
12209
  end
11779
12210
 
11780
12211
  unknown_bytes << buff.byteslice(index, value)
@@ -12087,10 +12518,10 @@ module Api
12087
12518
  end
12088
12519
  def _encode(buff)
12089
12520
  val = @type
12090
- if val != 0
12521
+ if has_type?
12091
12522
  buff << 0x08
12092
12523
 
12093
- while val != 0
12524
+ loop do
12094
12525
  byte = val & 0x7F
12095
12526
 
12096
12527
  val >>= 7
@@ -12101,14 +12532,15 @@ module Api
12101
12532
 
12102
12533
  byte |= 0x80 if val != 0
12103
12534
  buff << byte
12535
+ break if val == 0
12104
12536
  end
12105
12537
  end
12106
12538
 
12107
12539
  val = @unit_index
12108
- if val != 0
12540
+ if has_unit_index?
12109
12541
  buff << 0x10
12110
12542
 
12111
- while val != 0
12543
+ loop do
12112
12544
  byte = val & 0x7F
12113
12545
 
12114
12546
  val >>= 7
@@ -12119,6 +12551,7 @@ module Api
12119
12551
 
12120
12552
  byte |= 0x80 if val != 0
12121
12553
  buff << byte
12554
+ break if val == 0
12122
12555
  end
12123
12556
  end
12124
12557
  buff << @_unknown_fields if @_unknown_fields
@@ -12127,10 +12560,26 @@ module Api
12127
12560
 
12128
12561
  def to_h
12129
12562
  result = {}
12130
- result["type".to_sym] = @type
12131
- result["unit_index".to_sym] = @unit_index
12563
+
12564
+ result[:"type"] = @type
12565
+ result[:"unit_index"] = @unit_index
12566
+
12132
12567
  result
12133
12568
  end
12569
+
12570
+ def as_json(options = {})
12571
+ result = {}
12572
+
12573
+ result["type"] = @type if !options[:compact] || has_type?
12574
+ result["unitIndex"] = @unit_index if !options[:compact] || has_unit_index?
12575
+
12576
+ result
12577
+ end
12578
+
12579
+ def to_json(as_json_options = {})
12580
+ require "json"
12581
+ JSON.dump(as_json(as_json_options))
12582
+ end
12134
12583
  end
12135
12584
  class ActionCargoPanelUnload
12136
12585
  def self.decode(buff)
@@ -12249,7 +12698,7 @@ module Api
12249
12698
 
12250
12699
  unknown_bytes = +"".b
12251
12700
  val = tag
12252
- while val != 0
12701
+ loop do
12253
12702
  byte = val & 0x7F
12254
12703
 
12255
12704
  val >>= 7
@@ -12260,6 +12709,7 @@ module Api
12260
12709
 
12261
12710
  byte |= 0x80 if val != 0
12262
12711
  unknown_bytes << byte
12712
+ break if val == 0
12263
12713
  end
12264
12714
 
12265
12715
  case wire_type
@@ -12334,7 +12784,7 @@ module Api
12334
12784
  end
12335
12785
 
12336
12786
  val = value
12337
- while val != 0
12787
+ loop do
12338
12788
  byte = val & 0x7F
12339
12789
 
12340
12790
  val >>= 7
@@ -12345,6 +12795,7 @@ module Api
12345
12795
 
12346
12796
  byte |= 0x80 if val != 0
12347
12797
  unknown_bytes << byte
12798
+ break if val == 0
12348
12799
  end
12349
12800
 
12350
12801
  unknown_bytes << buff.byteslice(index, value)
@@ -12537,10 +12988,10 @@ module Api
12537
12988
  end
12538
12989
  def _encode(buff)
12539
12990
  val = @unit_index
12540
- if val != 0
12991
+ if has_unit_index?
12541
12992
  buff << 0x08
12542
12993
 
12543
- while val != 0
12994
+ loop do
12544
12995
  byte = val & 0x7F
12545
12996
 
12546
12997
  val >>= 7
@@ -12551,6 +13002,7 @@ module Api
12551
13002
 
12552
13003
  byte |= 0x80 if val != 0
12553
13004
  buff << byte
13005
+ break if val == 0
12554
13006
  end
12555
13007
  end
12556
13008
  buff << @_unknown_fields if @_unknown_fields
@@ -12559,9 +13011,24 @@ module Api
12559
13011
 
12560
13012
  def to_h
12561
13013
  result = {}
12562
- result["unit_index".to_sym] = @unit_index
13014
+
13015
+ result[:"unit_index"] = @unit_index
13016
+
13017
+ result
13018
+ end
13019
+
13020
+ def as_json(options = {})
13021
+ result = {}
13022
+
13023
+ result["unitIndex"] = @unit_index if !options[:compact] || has_unit_index?
13024
+
12563
13025
  result
12564
13026
  end
13027
+
13028
+ def to_json(as_json_options = {})
13029
+ require "json"
13030
+ JSON.dump(as_json(as_json_options))
13031
+ end
12565
13032
  end
12566
13033
  class ActionProductionPanelRemoveFromQueue
12567
13034
  def self.decode(buff)
@@ -12680,7 +13147,7 @@ module Api
12680
13147
 
12681
13148
  unknown_bytes = +"".b
12682
13149
  val = tag
12683
- while val != 0
13150
+ loop do
12684
13151
  byte = val & 0x7F
12685
13152
 
12686
13153
  val >>= 7
@@ -12691,6 +13158,7 @@ module Api
12691
13158
 
12692
13159
  byte |= 0x80 if val != 0
12693
13160
  unknown_bytes << byte
13161
+ break if val == 0
12694
13162
  end
12695
13163
 
12696
13164
  case wire_type
@@ -12765,7 +13233,7 @@ module Api
12765
13233
  end
12766
13234
 
12767
13235
  val = value
12768
- while val != 0
13236
+ loop do
12769
13237
  byte = val & 0x7F
12770
13238
 
12771
13239
  val >>= 7
@@ -12776,6 +13244,7 @@ module Api
12776
13244
 
12777
13245
  byte |= 0x80 if val != 0
12778
13246
  unknown_bytes << byte
13247
+ break if val == 0
12779
13248
  end
12780
13249
 
12781
13250
  unknown_bytes << buff.byteslice(index, value)
@@ -12968,10 +13437,10 @@ module Api
12968
13437
  end
12969
13438
  def _encode(buff)
12970
13439
  val = @unit_index
12971
- if val != 0
13440
+ if has_unit_index?
12972
13441
  buff << 0x08
12973
13442
 
12974
- while val != 0
13443
+ loop do
12975
13444
  byte = val & 0x7F
12976
13445
 
12977
13446
  val >>= 7
@@ -12982,6 +13451,7 @@ module Api
12982
13451
 
12983
13452
  byte |= 0x80 if val != 0
12984
13453
  buff << byte
13454
+ break if val == 0
12985
13455
  end
12986
13456
  end
12987
13457
  buff << @_unknown_fields if @_unknown_fields
@@ -12990,9 +13460,24 @@ module Api
12990
13460
 
12991
13461
  def to_h
12992
13462
  result = {}
12993
- result["unit_index".to_sym] = @unit_index
13463
+
13464
+ result[:"unit_index"] = @unit_index
13465
+
13466
+ result
13467
+ end
13468
+
13469
+ def as_json(options = {})
13470
+ result = {}
13471
+
13472
+ result["unitIndex"] = @unit_index if !options[:compact] || has_unit_index?
13473
+
12994
13474
  result
12995
13475
  end
13476
+
13477
+ def to_json(as_json_options = {})
13478
+ require "json"
13479
+ JSON.dump(as_json(as_json_options))
13480
+ end
12996
13481
  end
12997
13482
  class ActionToggleAutocast
12998
13483
  def self.decode(buff)
@@ -13111,7 +13596,7 @@ module Api
13111
13596
 
13112
13597
  unknown_bytes = +"".b
13113
13598
  val = tag
13114
- while val != 0
13599
+ loop do
13115
13600
  byte = val & 0x7F
13116
13601
 
13117
13602
  val >>= 7
@@ -13122,6 +13607,7 @@ module Api
13122
13607
 
13123
13608
  byte |= 0x80 if val != 0
13124
13609
  unknown_bytes << byte
13610
+ break if val == 0
13125
13611
  end
13126
13612
 
13127
13613
  case wire_type
@@ -13196,7 +13682,7 @@ module Api
13196
13682
  end
13197
13683
 
13198
13684
  val = value
13199
- while val != 0
13685
+ loop do
13200
13686
  byte = val & 0x7F
13201
13687
 
13202
13688
  val >>= 7
@@ -13207,6 +13693,7 @@ module Api
13207
13693
 
13208
13694
  byte |= 0x80 if val != 0
13209
13695
  unknown_bytes << byte
13696
+ break if val == 0
13210
13697
  end
13211
13698
 
13212
13699
  unknown_bytes << buff.byteslice(index, value)
@@ -13399,10 +13886,10 @@ module Api
13399
13886
  end
13400
13887
  def _encode(buff)
13401
13888
  val = @ability_id
13402
- if val != 0
13889
+ if has_ability_id?
13403
13890
  buff << 0x08
13404
13891
 
13405
- while val != 0
13892
+ loop do
13406
13893
  byte = val & 0x7F
13407
13894
 
13408
13895
  val >>= 7
@@ -13413,6 +13900,7 @@ module Api
13413
13900
 
13414
13901
  byte |= 0x80 if val != 0
13415
13902
  buff << byte
13903
+ break if val == 0
13416
13904
  end
13417
13905
  end
13418
13906
  buff << @_unknown_fields if @_unknown_fields
@@ -13421,8 +13909,23 @@ module Api
13421
13909
 
13422
13910
  def to_h
13423
13911
  result = {}
13424
- result["ability_id".to_sym] = @ability_id
13912
+
13913
+ result[:"ability_id"] = @ability_id
13914
+
13425
13915
  result
13426
13916
  end
13917
+
13918
+ def as_json(options = {})
13919
+ result = {}
13920
+
13921
+ result["abilityId"] = @ability_id if !options[:compact] || has_ability_id?
13922
+
13923
+ result
13924
+ end
13925
+
13926
+ def to_json(as_json_options = {})
13927
+ require "json"
13928
+ JSON.dump(as_json(as_json_options))
13929
+ end
13427
13930
  end
13428
13931
  end