Class: Api::ObserverAction
- Inherits:
-
Object
- Object
- Api::ObserverAction
- Defined in:
- lib/sc2ai/protocol/sc2api_pb.rb
Instance Attribute Summary collapse
-
#action ⇒ Object
readonly
oneof field readers.
-
#camera_follow_player ⇒ Object
Returns the value of attribute camera_follow_player.
-
#camera_follow_units ⇒ Object
Returns the value of attribute camera_follow_units.
-
#camera_move ⇒ Object
Returns the value of attribute camera_move.
-
#player_perspective ⇒ Object
Returns the value of attribute player_perspective.
Class Method Summary collapse
Instance Method Summary collapse
- #_encode(buff) ⇒ Object
- #decode_from(buff, index, len) ⇒ Object
-
#initialize(player_perspective: nil, camera_move: nil, camera_follow_player: nil, camera_follow_units: nil) ⇒ ObserverAction
constructor
END writers for oneof fields.
- #to_h ⇒ Object
- #to_proto(_options = {}) ⇒ Object
Constructor Details
#initialize(player_perspective: nil, camera_move: nil, camera_follow_player: nil, camera_follow_units: nil) ⇒ ObserverAction
END writers for oneof fields
45251 45252 45253 45254 45255 45256 45257 45258 45259 45260 45261 45262 45263 45264 45265 45266 45267 45268 45269 45270 45271 45272 45273 45274 45275 45276 45277 45278 45279 45280 45281 45282 45283 45284 45285 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45251 def initialize( player_perspective: nil, camera_move: nil, camera_follow_player: nil, camera_follow_units: nil ) @action = nil # oneof field if player_perspective == nil @player_perspective = nil else @action = :player_perspective @player_perspective = player_perspective end if camera_move == nil @camera_move = nil else @action = :camera_move @camera_move = camera_move end if camera_follow_player == nil @camera_follow_player = nil else @action = :camera_follow_player @camera_follow_player = camera_follow_player end if camera_follow_units == nil @camera_follow_units = nil else @action = :camera_follow_units @camera_follow_units = camera_follow_units end end |
Instance Attribute Details
#action ⇒ Object (readonly)
oneof field readers
45219 45220 45221 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45219 def action @action end |
#camera_follow_player ⇒ Object
Returns the value of attribute camera_follow_player.
45225 45226 45227 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45225 def camera_follow_player @camera_follow_player end |
#camera_follow_units ⇒ Object
Returns the value of attribute camera_follow_units.
45227 45228 45229 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45227 def camera_follow_units @camera_follow_units end |
#camera_move ⇒ Object
Returns the value of attribute camera_move.
45223 45224 45225 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45223 def camera_move @camera_move end |
#player_perspective ⇒ Object
Returns the value of attribute player_perspective.
45221 45222 45223 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45221 def player_perspective @player_perspective end |
Class Method Details
.decode(buff) ⇒ Object
45208 45209 45210 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45208 def self.decode(buff) allocate.decode_from(buff.b, 0, buff.bytesize) end |
.encode(obj) ⇒ Object
45212 45213 45214 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45212 def self.encode(obj) obj._encode("".b) end |
Instance Method Details
#_encode(buff) ⇒ Object
45962 45963 45964 45965 45966 45967 45968 45969 45970 45971 45972 45973 45974 45975 45976 45977 45978 45979 45980 45981 45982 45983 45984 45985 45986 45987 45988 45989 45990 45991 45992 45993 45994 45995 45996 45997 45998 45999 46000 46001 46002 46003 46004 46005 46006 46007 46008 46009 46010 46011 46012 46013 46014 46015 46016 46017 46018 46019 46020 46021 46022 46023 46024 46025 46026 46027 46028 46029 46030 46031 46032 46033 46034 46035 46036 46037 46038 46039 46040 46041 46042 46043 46044 46045 46046 46047 46048 46049 46050 46051 46052 46053 46054 46055 46056 46057 46058 46059 46060 46061 46062 46063 46064 46065 46066 46067 46068 46069 46070 46071 46072 46073 46074 46075 46076 46077 46078 46079 46080 46081 46082 46083 46084 46085 46086 46087 46088 46089 46090 46091 46092 46093 46094 46095 46096 46097 46098 46099 46100 46101 46102 46103 46104 46105 46106 46107 46108 46109 46110 46111 46112 46113 46114 46115 46116 46117 46118 46119 46120 46121 46122 46123 46124 46125 46126 46127 46128 46129 46130 46131 46132 46133 46134 46135 46136 46137 46138 46139 46140 46141 46142 46143 46144 46145 46146 46147 46148 46149 46150 46151 46152 46153 46154 46155 46156 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45962 def _encode(buff) val = @player_perspective if val buff << 0x0a # Save the buffer size before appending the submessage current_len = buff.bytesize # Write a single dummy byte to later store encoded length buff << 42 # "*" val._encode(buff) # Calculate the submessage's size = buff.bytesize - current_len - 1 # Hope the size fits in one byte byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) # If the sub message was bigger if > 0 current_len += 1 # compute how much we need to shift encoded_int_len = 0 remaining_size = while remaining_size != 0 remaining_size >>= 7 encoded_int_len += 1 end # Make space in the string with dummy bytes buff.bytesplice(current_len, 0, "*********", 0, encoded_int_len) # Overwrite the dummy bytes with the encoded length while != 0 byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) current_len += 1 end end buff end val = @camera_move if val buff << 0x12 # Save the buffer size before appending the submessage current_len = buff.bytesize # Write a single dummy byte to later store encoded length buff << 42 # "*" val._encode(buff) # Calculate the submessage's size = buff.bytesize - current_len - 1 # Hope the size fits in one byte byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) # If the sub message was bigger if > 0 current_len += 1 # compute how much we need to shift encoded_int_len = 0 remaining_size = while remaining_size != 0 remaining_size >>= 7 encoded_int_len += 1 end # Make space in the string with dummy bytes buff.bytesplice(current_len, 0, "*********", 0, encoded_int_len) # Overwrite the dummy bytes with the encoded length while != 0 byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) current_len += 1 end end buff end val = @camera_follow_player if val buff << 0x1a # Save the buffer size before appending the submessage current_len = buff.bytesize # Write a single dummy byte to later store encoded length buff << 42 # "*" val._encode(buff) # Calculate the submessage's size = buff.bytesize - current_len - 1 # Hope the size fits in one byte byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) # If the sub message was bigger if > 0 current_len += 1 # compute how much we need to shift encoded_int_len = 0 remaining_size = while remaining_size != 0 remaining_size >>= 7 encoded_int_len += 1 end # Make space in the string with dummy bytes buff.bytesplice(current_len, 0, "*********", 0, encoded_int_len) # Overwrite the dummy bytes with the encoded length while != 0 byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) current_len += 1 end end buff end val = @camera_follow_units if val buff << 0x22 # Save the buffer size before appending the submessage current_len = buff.bytesize # Write a single dummy byte to later store encoded length buff << 42 # "*" val._encode(buff) # Calculate the submessage's size = buff.bytesize - current_len - 1 # Hope the size fits in one byte byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) # If the sub message was bigger if > 0 current_len += 1 # compute how much we need to shift encoded_int_len = 0 remaining_size = while remaining_size != 0 remaining_size >>= 7 encoded_int_len += 1 end # Make space in the string with dummy bytes buff.bytesplice(current_len, 0, "*********", 0, encoded_int_len) # Overwrite the dummy bytes with the encoded length while != 0 byte = & 0x7F >>= 7 byte |= 0x80 if > 0 buff.setbyte(current_len, byte) current_len += 1 end end buff end buff end |
#decode_from(buff, index, len) ⇒ Object
45291 45292 45293 45294 45295 45296 45297 45298 45299 45300 45301 45302 45303 45304 45305 45306 45307 45308 45309 45310 45311 45312 45313 45314 45315 45316 45317 45318 45319 45320 45321 45322 45323 45324 45325 45326 45327 45328 45329 45330 45331 45332 45333 45334 45335 45336 45337 45338 45339 45340 45341 45342 45343 45344 45345 45346 45347 45348 45349 45350 45351 45352 45353 45354 45355 45356 45357 45358 45359 45360 45361 45362 45363 45364 45365 45366 45367 45368 45369 45370 45371 45372 45373 45374 45375 45376 45377 45378 45379 45380 45381 45382 45383 45384 45385 45386 45387 45388 45389 45390 45391 45392 45393 45394 45395 45396 45397 45398 45399 45400 45401 45402 45403 45404 45405 45406 45407 45408 45409 45410 45411 45412 45413 45414 45415 45416 45417 45418 45419 45420 45421 45422 45423 45424 45425 45426 45427 45428 45429 45430 45431 45432 45433 45434 45435 45436 45437 45438 45439 45440 45441 45442 45443 45444 45445 45446 45447 45448 45449 45450 45451 45452 45453 45454 45455 45456 45457 45458 45459 45460 45461 45462 45463 45464 45465 45466 45467 45468 45469 45470 45471 45472 45473 45474 45475 45476 45477 45478 45479 45480 45481 45482 45483 45484 45485 45486 45487 45488 45489 45490 45491 45492 45493 45494 45495 45496 45497 45498 45499 45500 45501 45502 45503 45504 45505 45506 45507 45508 45509 45510 45511 45512 45513 45514 45515 45516 45517 45518 45519 45520 45521 45522 45523 45524 45525 45526 45527 45528 45529 45530 45531 45532 45533 45534 45535 45536 45537 45538 45539 45540 45541 45542 45543 45544 45545 45546 45547 45548 45549 45550 45551 45552 45553 45554 45555 45556 45557 45558 45559 45560 45561 45562 45563 45564 45565 45566 45567 45568 45569 45570 45571 45572 45573 45574 45575 45576 45577 45578 45579 45580 45581 45582 45583 45584 45585 45586 45587 45588 45589 45590 45591 45592 45593 45594 45595 45596 45597 45598 45599 45600 45601 45602 45603 45604 45605 45606 45607 45608 45609 45610 45611 45612 45613 45614 45615 45616 45617 45618 45619 45620 45621 45622 45623 45624 45625 45626 45627 45628 45629 45630 45631 45632 45633 45634 45635 45636 45637 45638 45639 45640 45641 45642 45643 45644 45645 45646 45647 45648 45649 45650 45651 45652 45653 45654 45655 45656 45657 45658 45659 45660 45661 45662 45663 45664 45665 45666 45667 45668 45669 45670 45671 45672 45673 45674 45675 45676 45677 45678 45679 45680 45681 45682 45683 45684 45685 45686 45687 45688 45689 45690 45691 45692 45693 45694 45695 45696 45697 45698 45699 45700 45701 45702 45703 45704 45705 45706 45707 45708 45709 45710 45711 45712 45713 45714 45715 45716 45717 45718 45719 45720 45721 45722 45723 45724 45725 45726 45727 45728 45729 45730 45731 45732 45733 45734 45735 45736 45737 45738 45739 45740 45741 45742 45743 45744 45745 45746 45747 45748 45749 45750 45751 45752 45753 45754 45755 45756 45757 45758 45759 45760 45761 45762 45763 45764 45765 45766 45767 45768 45769 45770 45771 45772 45773 45774 45775 45776 45777 45778 45779 45780 45781 45782 45783 45784 45785 45786 45787 45788 45789 45790 45791 45792 45793 45794 45795 45796 45797 45798 45799 45800 45801 45802 45803 45804 45805 45806 45807 45808 45809 45810 45811 45812 45813 45814 45815 45816 45817 45818 45819 45820 45821 45822 45823 45824 45825 45826 45827 45828 45829 45830 45831 45832 45833 45834 45835 45836 45837 45838 45839 45840 45841 45842 45843 45844 45845 45846 45847 45848 45849 45850 45851 45852 45853 45854 45855 45856 45857 45858 45859 45860 45861 45862 45863 45864 45865 45866 45867 45868 45869 45870 45871 45872 45873 45874 45875 45876 45877 45878 45879 45880 45881 45882 45883 45884 45885 45886 45887 45888 45889 45890 45891 45892 45893 45894 45895 45896 45897 45898 45899 45900 45901 45902 45903 45904 45905 45906 45907 45908 45909 45910 45911 45912 45913 45914 45915 45916 45917 45918 45919 45920 45921 45922 45923 45924 45925 45926 45927 45928 45929 45930 45931 45932 45933 45934 45935 45936 45937 45938 45939 45940 45941 45942 45943 45944 45945 45946 45947 45948 45949 45950 45951 45952 45953 45954 45955 45956 45957 45958 45959 45960 45961 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45291 def decode_from(buff, index, len) @action = nil # oneof field @player_perspective = nil @camera_move = nil @camera_follow_player = nil @camera_follow_units = nil return self if index >= len ## PULL_UINT64 tag = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 found = true while true # If we have looped around since the last found tag this one is # unexpected, so discard it and continue. if !found wire_type = tag & 0x7 case wire_type when 0 i = 0 while true newbyte = buff.getbyte(index) index += 1 break if newbyte.nil? || newbyte < 0x80 i += 1 break if i > 9 end when 1 index += 8 when 2 ## PULL_BYTES value = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end buff.byteslice(index, value) index += value ## END PULL_BYTES when 5 index += 4 else raise "unknown wire type #{wire_type}" end return self if index >= len ## PULL_UINT64 tag = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 end found = false if tag == 0xa found = true ## PULL_MESSAGE ## PULL_UINT64 msg_len = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 @player_perspective = Api::ActionObserverPlayerPerspective.allocate.decode_from( buff, index, index += msg_len ) ## END PULL_MESSAGE @action = :player_perspective return self if index >= len ## PULL_UINT64 tag = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 end if tag == 0x12 found = true ## PULL_MESSAGE ## PULL_UINT64 msg_len = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 @camera_move = Api::ActionObserverCameraMove.allocate.decode_from( buff, index, index += msg_len ) ## END PULL_MESSAGE @action = :camera_move return self if index >= len ## PULL_UINT64 tag = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 end if tag == 0x1a found = true ## PULL_MESSAGE ## PULL_UINT64 msg_len = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 @camera_follow_player = Api::ActionObserverCameraFollowPlayer.allocate.decode_from( buff, index, index += msg_len ) ## END PULL_MESSAGE @action = :camera_follow_player return self if index >= len ## PULL_UINT64 tag = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 end if tag == 0x22 found = true ## PULL_MESSAGE ## PULL_UINT64 msg_len = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 @camera_follow_units = Api::ActionObserverCameraFollowUnits.allocate.decode_from( buff, index, index += msg_len ) ## END PULL_MESSAGE @action = :camera_follow_units return self if index >= len ## PULL_UINT64 tag = if (byte0 = buff.getbyte(index)) < 0x80 index += 1 byte0 elsif (byte1 = buff.getbyte(index + 1)) < 0x80 index += 2 (byte1 << 7) | (byte0 & 0x7F) elsif (byte2 = buff.getbyte(index + 2)) < 0x80 index += 3 (byte2 << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte3 = buff.getbyte(index + 3)) < 0x80 index += 4 (byte3 << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte4 = buff.getbyte(index + 4)) < 0x80 index += 5 (byte4 << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte5 = buff.getbyte(index + 5)) < 0x80 index += 6 (byte5 << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte6 = buff.getbyte(index + 6)) < 0x80 index += 7 (byte6 << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte7 = buff.getbyte(index + 7)) < 0x80 index += 8 (byte7 << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte8 = buff.getbyte(index + 8)) < 0x80 index += 9 (byte8 << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) elsif (byte9 = buff.getbyte(index + 9)) < 0x80 index += 10 (byte9 << 63) | ((byte8 & 0x7F) << 56) | ((byte7 & 0x7F) << 49) | ((byte6 & 0x7F) << 42) | ((byte5 & 0x7F) << 35) | ((byte4 & 0x7F) << 28) | ((byte3 & 0x7F) << 21) | ((byte2 & 0x7F) << 14) | ((byte1 & 0x7F) << 7) | (byte0 & 0x7F) else raise "integer decoding error" end ## END PULL_UINT64 end return self if index >= len end end |
#to_h ⇒ Object
46158 46159 46160 46161 46162 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 46158 def to_h result = {} send("action").tap { |f| result[f.to_sym] = send(f) if f } result end |
#to_proto(_options = {}) ⇒ Object
45287 45288 45289 |
# File 'lib/sc2ai/protocol/sc2api_pb.rb', line 45287 def to_proto( = {}) self.class.encode(self) end |