8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
|
# File 'lib/sc2ai/protocol/debug_pb.rb', line 8439
def _encode(buff)
val = @unit_type
if has_unit_type?
buff << 0x08
loop do
byte = val & 0x7F
val >>= 7
byte |= 0x80 if val > 0
buff << byte
break if val == 0
end
end
val = @owner
if has_owner?
buff << 0x10
loop do
byte = val & 0x7F
val >>= 7
val &= (1 << 57) - 1
byte |= 0x80 if val != 0
buff << byte
break if val == 0
end
end
val = @pos
if val
buff << 0x1a
current_len = buff.bytesize
buff << 42 val._encode(buff)
submessage_size = buff.bytesize - current_len - 1
byte = submessage_size & 0x7F
submessage_size >>= 7
byte |= 0x80 if submessage_size > 0
buff.setbyte(current_len, byte)
if submessage_size > 0
current_len += 1
encoded_int_len = 0
remaining_size = submessage_size
while remaining_size != 0
remaining_size >>= 7
encoded_int_len += 1
end
buff.bytesplice(current_len, 0, "*********", 0, encoded_int_len)
while submessage_size != 0
byte = submessage_size & 0x7F
submessage_size >>= 7
byte |= 0x80 if submessage_size > 0
buff.setbyte(current_len, byte)
current_len += 1
end
end
buff
end
val = @quantity
if has_quantity?
buff << 0x20
loop do
byte = val & 0x7F
val >>= 7
byte |= 0x80 if val > 0
buff << byte
break if val == 0
end
end
buff << @_unknown_fields if @_unknown_fields
buff
end
|